Cách vô tình viết Web-GUI cho Haproxy

Thế giới hiện đại của các quản trị viên hệ thống đã khiến chúng ta trở nên lười biếng với những giao diện web đẹp đẽ đến mức không muốn cài đặt những phần mềm không có “anh chàng” này (tôi cảm giác như đá sắp bay ra khỏi những người thợ khâu sùng đạo) ồ, không phải là bạn liên tục trèo qua hàng phải không? Mọi thứ sẽ ổn nếu phần mềm được cài đặt, cấu hình và quên đi, nhưng phải làm gì nếu bạn phải liên tục leo lên đó, chỉnh sửa và tất nhiên là không có nhật ký của tất cả các hành động, đừng viết cp cfg cfg_back mỗi lần, hơn thời gian bạn sẽ bối rối và quên đi vấn đề này.

Cách vô tình viết Web-GUI cho Haproxy

Nhiều năm trước, tôi đã gặp một công cụ cân bằng tuyệt vời như Haproxy. Mọi thứ đều tuyệt vời và đẹp đẽ. Tôi đã có rất nhiều trong số chúng và tôi đã nghĩ đến việc tìm kiếm GUI cho nó, nhưng đáng ngạc nhiên là không có. Một phần mềm rất phổ biến và cũng khá cũ, nhưng ồ, tôi nghĩ và thỉnh thoảng tiếp tục chỉnh sửa những chiếc bút trong vi yêu thích của mình và có một loạt các tab đang mở với số liệu thống kê của tất cả các máy chủ đang hoạt động. Nhưng thời cơ đã đến và tôi phải thỏa mãn “mong muốn” của những người viết phần mềm để làm việc qua http, và đó là lúc mọi thứ trở nên thú vị…

Tay tôi ngứa ngáy, mắt tôi sáng lên và tôi bắt đầu. Chính xác hơn, tôi bắt đầu nghĩ xem nên viết gì, để ghi nhớ PHP đã bị lãng quên từ lâu, không hiểu sao tôi lại không muốn, và có vẻ như nó không hoàn toàn phù hợp với vấn đề này. Cuối cùng, sự lựa chọn thuộc về Python, nó chắc chắn sẽ có ích trong tương lai, tôi nghĩ và bắt đầu tiếp thu thông tin.

Lúc đầu, các nhiệm vụ không quá khó: khả năng chỉnh sửa cấu hình từ giao diện web từ một điểm vào, lưu các phiên bản cấu hình trước đó. Chức năng không đặc biệt lớn này được triển khai khá nhanh, nhưng sau đó sự lười biếng của quản trị viên hoặc chủ nghĩa cầu toàn khét tiếng đã xâm chiếm tôi và tất nhiên điều này dường như là chưa đủ đối với tôi. Và sau đó các tính năng như vậy bắt đầu xuất hiện như: so sánh hai config, ghi lại tất cả các hành động liên quan đến config, Runtime API và thêm các phần qua web.

Cách vô tình viết Web-GUI cho Haproxy

Và với tư cách là một quản trị viên UNIX tử tế sống nhờ vào phần mềm miễn phí, tôi đã quyết định chia sẻ nó với mọi người và có thể nó sẽ hữu ích cho người khác? Nhưng để làm được điều này, cần phải thực hiện mọi thứ theo cách mà bạn không cần phải nhập mã mà nhiều nhất là vào phần cấu hình (Bây giờ hầu hết các cài đặt đã được chuyển sang cơ sở dữ liệu. Đối với tôi, nó có trở nên thuận tiện hơn khi chỉnh sửa chúng và sẽ không có lỗi khi cập nhật do thiếu bất kỳ hoặc tham số nào).

Một tháng sau, tôi đăng tác phẩm của mình lên Github mà không có nhiều kỳ vọng. Nhưng vô ích, phần mềm hóa ra hơi có nhu cầu và sau đó cuộc vui bắt đầu... Hoạt động “cập nhật” tích cực đã diễn ra được gần một năm. Nhiều khi muốn buông xuôi tất cả, vì... nhu cầu của tôi đã được đáp ứng trong một thời gian dài. Chà, tại sao tôi lại cần cơ hội triển khai một “cụm” với Keepaliving và HAProxy qua web, nếu tôi chỉ mất vài phút? Nhưng hóa ra người ta cần, tôi cũng quan tâm và có việc phải làm. Tất nhiên, mặc dù có những chức năng mà tôi cần, chẳng hạn như giám sát các máy chủ phụ trợ và liệu chúng có sẵn cho Haproxy hay không. Tất nhiên, chúng tôi có sự giám sát của công ty, nhưng có những người ở đó có thể phản ứng trong một thời gian khá dài, + bởi vì... Bộ phận của tôi tham gia vào việc phát triển và phần mềm xuất hiện và biến mất đủ lâu để vượt qua bộ máy quan liêu.

Cách vô tình viết Web-GUI cho Haproxy

Nói chung, tôi quyết định chia sẻ vì hóa ra đây là GUI miễn phí duy nhất. Điều gì sẽ xảy ra nếu ai đó thấy nó hữu ích? Liên kết tới GitHub.

Nguồn: www.habr.com

Thêm một lời nhận xét