Как случайно да напиша Web-GUI за Haproxy

Съвременният свят на системните администратори ни направи мързеливи с красиви уеб-лица, че дори не е желание да инсталирате софтуер, където го няма този „човек“ (чувствам, че сега камъни ще летят от ортодоксалните драскачи), добре, не е винаги се катери там през линията, нали? Всичко би било наред, ако софтуерът беше инсталиран, конфигуриран и забравен, но какво да правите, ако трябва постоянно да се катерите там, да редактирате и разбира се няма регистър на всички действия, не пишете cp cfg cfg_back всеки път, с течение на времето ще се объркате и ще забравите за този въпрос.

Как случайно да напиша Web-GUI за Haproxy

Преди много години се запознах с такъв прекрасен балансьор като Haproxy. Всичко е чудесно и красиво. Имах много от тях и мислех да намеря GUI за него, но изненадващо го нямаше. Много популярен софтуер, освен това доста стар, но о, добре, помислих си и продължих да редактирам от време на време манипулаторите в любимия си vi и имам куп отворени раздели със статистика на всички активни сървъри. Но дойде времето и трябваше да задоволя "списъка с желания" от хора, които са написали софтуер за работа през http и тук започна интересното ...

Ръцете ме засърбяха, очите ми светнаха и се сепнах. По-точно, започнах да мисля върху какво да пиша, да си спомня отдавна забравения PHP, някак си не ми се искаше и изглеждаше, че не е съвсем подходящ за този бизнес. В резултат на това изборът падна върху Python, реших, че определено ще бъде полезен в бъдеще и започна усвояването на информация.

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

Как случайно да напиша Web-GUI за Haproxy

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

Месец по-късно публикувах занаята си в Github, без наистина да разчитам на нищо. И напразно софтуерът се оказа леко търсен и тогава започна най-интересното ... Активното „довършване“ продължава почти година. Понякога има желание да се откаже от всичко това, защото. Нуждите ми са задоволени отдавна. Е, защо ми трябва възможността да разположа „клъстер“ с keepalived и HAProxy през уеб лицето, ако ми отнема най-много няколко минути? И се оказва, че хората имат нужда от това и аз се интересувам и има какво да се направи. Въпреки че, разбира се, има функции, от които се нуждая, например как да наблюдавам бекенд сървъри, дали са налични за Haproxy. Разбира се, имаме корпоративен мониторинг, но има хора, които могат да реагират доста дълго време, + т.к моят отдел се развива и софтуерът идва и си отива достатъчно дълго, за да премине през бюрокрацията.

Как случайно да напиша Web-GUI за Haproxy

Като цяло реших да споделя, защото се оказа, че това е единственият безплатен GUI. Ами ако е полезно за някого? Връзка към GitHub.

Източник: www.habr.com

Добавяне на нов коментар