Главная » Хабрахабр » [Из песочницы] Как случайно написать Web-GUI для Haproxy

[Из песочницы] Как случайно написать Web-GUI для Haproxy

Современный мир системных администраторов обленил нас красивыми web-face-ами, что даже не охота ставить софт, где нет этого самого «гуя» (чувствую сейчас полетят камни от правоверных строчкеров), ну не через строку же постоянно туда лазить, правда? Все бы ничего, если софт поставил, настроил и забыл, а что делать, если туда надо постоянно лазить, править, ну и конечно же нет лога всех действий, не писать же каждый раз cp cfg cfg_back, со временем запутаешься и забьешь на это дело.

Все чудесно и красиво.
Много лет назад познакомился я с таким чудесным балансером, как Haproxy. Очень популярный софт, к тому же достаточно старый, ну да ладно подумал я и продолжил изредка править ручками в своем любимом vi и иметь кучу открытых вкладок со статистикой всех активных серверов. Стало у меня их много и задумался я о поиске GUI к нему, но его на удивление не было. Но настало время и мне пришлось удовлетворять «хотелки» людей, которые писали софт для работы через http, вот тут и началось интересное…

Точнее начал думать на чем писать, вспоминать давно-давным забытый PHP, как-то не хотелось, да и казалось, что он не совсем подходит для этого дела. Ручки зачесались, глазки загорелись и я приступил. В итоге выбор пал на Python, в будущем точно пригодится подумал я и началось впитывание информации.

Данный, не особо большой функционал получилось реализовать достаточно быстро, но тут во мне взыграла то ли админская лень, то ли пресловутый перфекционизм и мне этого показалось конечно же мало. В начале задачи стояли не такие уж и сложные: возможность редактировать конфиги из веб интерфейса из одной точки входа, сохранения предыдущих версий конфигов. И тут начали появляться такие фичи как: сравнение двух конфигов, логирование всех действий связанных с конфигами, Runtime API и добавления секций, через web.

Но для этого надо было сделать все так, чтобы не приходилось лазить в код, но максимум в конфиг приклады(Сейчас большинство настроек переехало в базу. И как порядочный UNIX администратор живущий за счет свободного ПО я решил поделится с миром, а в друг кому-то пригодится? Как по мне их стало удобней редактировать и при обновлении не будет ошибок из-за отсутствия в конфиге какого-либо параметра).

А зря, софт оказался слегка востребованным и тут началось самое интересное… Активная «допилка» идет уже почти год. Спустя месяц я выложил свою поделку на Github особо не на что не рассчитывая. мои потребности перекрыты уже давно. Порой есть желание все это бросить, т.к. А людям оказывается надо, да и мне интересно, и есть чем заняться. Ну вот зачем мне возможность развернуть «кластер» с keepalived и HAProxy через веб морду, если у меня это занимает от силы пару минут? У нас конечно же есть корпоративный мониторинг, но там сидят люди, которые могут достаточно долго реагировать, + т.к. Хотя конечно же есть и нужные мне функции, например, как мониторинг бэкенд серверов, доступны ли они для Haproxy. мой отдел занимается разработкой и софт то появляется, то исчезает достаточно долго пробиваться через бюрократию.

А вдруг кому пригодится? В общем решил поделится, ведь получается, что это единственный бесплатный GUI. Ссылка на GitHub.


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

Почти всё то же самое, только в 10 раз дешевле

Есть много тупиковых веток технологий, в которых можно долго развиваться, годами сидеть и ковыряться, а потом как-то внезапно остаться у разбитого корыта. «Боюсь, что то, что я делаю, нафиг никому не нужно» — достаточно частый страх ИТ-специалиста. Потому что весь ...

Впечатления от Gemini PDA. Карманный dual-boot комбайн или бесполезная игрушка?

Добрый день, уважаемые хабровчане. Можете ли вы представить матричный принтер, выпущенный в 2018-м году, или, скажем, ЭЛТ-монитор? Известны ли вам современные гаджеты, которые было бы гораздо привычнее встретить лет двадцать назад? Gemini PDA относит себя к классу устройств называющихся Personal ...