如何意外地为 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

总的来说,我决定分享,因为事实证明这是唯一的免费 G​​UI。 如果有人发现它有用怎么办? 链接到 GitHub.

来源: habr.com

添加评论