如何意外地為 Haproxy 撰寫 Web-GUI

現代系統管理員的世界讓我們對漂亮的網頁介面變得如此懶惰,以至於我們甚至不想安裝沒有這個「傢伙」的軟體(我感覺石頭快要從虔誠的縫合者身上飛走了)嗯,你並不是一直在排隊,對吧? 如果軟體安裝好了配置好了忘記了就萬事大吉了,但是如果需要不斷的爬到那裡去編輯怎麼辦,當然沒有所有操作的日誌,不要每次都寫cp cfg cfg_back,完了到時候你就會感到困惑並忘記這件事。

如何意外地為 Haproxy 撰寫 Web-GUI

許多年前,我遇到了像 Haproxy 這樣出色的平衡器。 一切都是美妙而美麗的。 我有很多這樣的工具,我想過要為它尋找一個 GUI,但令人驚訝的是沒有。 一個非常流行的軟體,也很舊,但是哦,好吧,我想並繼續偶爾在我最喜歡的 vi 中編輯筆,並打開一堆帶有所有活動伺服器統計資料的選項卡。 但時間到了,我必須滿足那些編寫通過 http 工作的軟體的人的“需求”,這就是事情變得有趣的地方......

我的手發癢,眼睛發亮,我開始了。 更確切地說,我開始思考該用什麼來寫,去回憶早已被遺忘的PHP,不知何故我不願意,而且似乎並不完全適合這件事。 最後選擇落在了Python上,以後一定會派上用場的,我想,就開始吸收資訊。

一開始,任務就沒那麼困難:能夠從一個入口點透過 Web 介面編輯配置,保存先前版本的配置。 這個不是特別大的功能很快就實現了,但後來要么是管理員的懶惰,要么是臭名昭著的完美主義在我身上佔據了主導地位,當然這對我來說似乎還不夠。 然後這些功能開始出現:比較兩個配置、記錄與配置相關的所有操作、運行時 API 以及透過網路新增部分。

如何意外地為 Haproxy 撰寫 Web-GUI

身為一個靠自由軟體為生的正派 UNIX 管理員,我決定與全世界分享它,也許它對其他人有用? 但為此,有必要以這樣的方式做所有事情,即您不必進入程式碼,而最多進入配置屁股(現在大多數設定已移至資料庫。對於我來說,它已經編輯起來更加方便,並且在更新時不會因為缺少任何或參數而出現錯誤)。

一個月後,我在沒有抱太大期望的情況下將我的作品發佈到了 Github 上。 但徒勞的是,該軟體的需求量很小,然後樂趣就開始了……主動「更新」已經持續了將近一年。 有時候真想放棄一切,因為… 我的需求已經滿足很久了。 那麼,如果我只需要幾分鐘,為什麼我需要有機會透過網路部署帶有 keepalived 和 HAProxy 的「叢集」呢? 但事實證明,人們需要它,我也很感興趣,而且有事可做。 當然,有些功能是我需要的,例如監控後端伺服器以及它們是否可用於 Haproxy。 當然,我們有公司監控,但那裡有人可以做出相當長的反應,+因為... 我的部門從事開發工作,軟體出現和消失的時間足以通過官僚機構。

如何意外地為 Haproxy 撰寫 Web-GUI

總的來說,我決定分享,因為事實證明這是唯一的免費 GUI。 如果有人發現它有用怎麼辦? 連結到 GitHub.

來源: www.habr.com

添加評論