Haproxy үшін кездейсоқ Web-GUI қалай жазуға болады

Жүйе әкімшілерінің заманауи әлемі бізді әдемі веб-беттермен жалқау еткені сонша, біз тіпті мұндай «жігіт» жоқ бағдарламалық жасақтаманы орнатқымыз да келмейді (мен мінсіз тігіншілерден тастар ұшып бара жатқандай сезінемін) , жақсы, сіз үнемі сызық арқылы өрмелеп жатқан сияқты емессіз, солай емес пе? Бағдарламалық жасақтама орнатылған, конфигурацияланған және ұмытылған болса, бәрі жақсы болар еді, бірақ ол жерге үнемі көтерілу, өңдеу қажет болса не істеу керек және әрине барлық әрекеттер журналы болмаса, cp cfg cfg_back деп жазбаңыз, әр уақытта уақыт шатасып, бұл мәселені ұмытып кетесіз.

Haproxy үшін кездейсоқ Web-GUI қалай жазуға болады

Көптеген жылдар бұрын мен Haproxy сияқты керемет балансизаторды кездестірдім. Барлығы керемет және әдемі. Менде олардың көпшілігі болды және мен оған графикалық интерфейсті іздеуді ойладым, бірақ таңқаларлық бір нәрсе жоқ. Өте танымал бағдарламалық жасақтама, сонымен қатар өте ескі, бірақ мен ойладым және менің сүйікті vi ішіндегі қаламдарды мезгіл-мезгіл өңдеуді жалғастырдым және барлық белсенді серверлердің статистикасы бар ашық қойындылар тобына ие болдым. Бірақ уақыт келді және мен http арқылы жұмыс істеу үшін бағдарламалық жасақтаманы жазған адамдардың «қалауын» қанағаттандыруым керек болды, және бұл жерде қызық болды ...

Қолым қышиды, көзім жанып, бастадым. Дәлірек айтқанда, мен не жазу керектігі туралы ойлана бастадым, ұмытылған PHP-ді есіме түсірдім, әйтеуір мен қаламадым және бұл бұл мәселеге мүлдем сәйкес келмейтін сияқты болдым. Сайып келгенде, таңдау Python-ға түсті, бұл болашақта міндетті түрде пайдалы болады деп ойладым және ақпаратты сіңіре бастадым.

Бастапқыда тапсырмалар соншалықты қиын емес еді: конфигурациялардың алдыңғы нұсқаларын сақтай отырып, бір кіру нүктесінен веб-интерфейстен конфигурацияларды өңдеу мүмкіндігі. Бұл аса үлкен емес функционалдылық өте тез іске асырылды, бірақ содан кейін әкімшінің жалқаулығы немесе әйгілі перфекционизм мені басып алды және, әрине, бұл маған жеткіліксіз болып көрінді. Содан кейін келесі мүмкіндіктер пайда бола бастады: екі конфигурацияны салыстыру, конфигурацияларға қатысты барлық әрекеттерді тіркеу, Runtime API және веб арқылы бөлімдерді қосу.

Haproxy үшін кездейсоқ Web-GUI қалай жазуға болады

Еркін бағдарламалық жасақтамамен өмір сүретін лайықты UNIX әкімшісі ретінде мен оны әлеммен бөлісуді шештім, мүмкін ол басқа біреуге пайдалы болар ма? Бірақ бұл үшін бәрін кодқа емес, ең көбі конфигурация түймелеріне кірмейтіндей етіп жасау керек болды (Қазір параметрлердің көпшілігі дерекқорға көшті. Мен болсам, ол бар. оларды өңдеу ыңғайлырақ болады және кез келген немесе параметрдің болмауына байланысты жаңарту кезінде қателер болмайды).

Бір айдан кейін мен өз қолөнерімді көп күтпестен Github сайтына орналастырдым. Бірақ бекер, бағдарламалық қамтамасыз ету аздап сұранысқа ие болды, содан кейін қызық басталды... Белсенді «жаңарту» бір жылға жуық уақыт бойы жалғасуда. Кейде бәрінен бас тартқысы келеді, өйткені... менің қажеттіліктерім ұзақ уақыт бойы қанағаттандырылды. Неліктен маған бір-екі минут қажет болса, keepalived және HAProxy көмегімен веб арқылы «кластерді» орналастыру мүмкіндігі қажет? Бірақ бұл адамдарға керек болып шықты, мен қызығамын және істейтін нәрсе бар. Дегенмен, әрине, маған қажет функциялар бар, мысалы, сервер серверлерін және олардың Haproxy үшін қол жетімділігін бақылау. Бізде, әрине, корпоративтік мониторинг бар, бірақ ол жерде ұзақ уақыт әрекет ете алатын адамдар бар, өйткені... Менің бөлімім әзірлеумен айналысады және бағдарламалық қамтамасыз ету бюрократиядан өту үшін жеткілікті ұзақ уақыт бойы пайда болады және жоғалады.

Haproxy үшін кездейсоқ Web-GUI қалай жазуға болады

Жалпы, мен бөлісуді жөн көрдім, өйткені бұл жалғыз тегін GUI. Егер біреу оны пайдалы деп тапса ше? GitHub сілтемесі.

Ақпарат көзі: www.habr.com

пікір қалдыру