Kaip netyčia parašyti „Haproxy“ žiniatinklio GUI

Šiuolaikinis sistemų administratorių pasaulis padarė mus tokius tinginius su gražiais žiniatinklio veidais, kad net nenorime įdiegti programinės įrangos, kurioje nėra šio „vaikino“ (jaučiu, kad nuo pamaldžių siuvėjų tuoj skris akmenys) , na, tai nėra taip, kad nuolat lipi per eilę, tiesa? Viskas būtų gerai, jei programinė įranga būtų įdiegta, sukonfigūruota ir pamiršta, bet ką daryti, jei reikia nuolat ten lipti, redaguoti, ir žinoma nėra visų veiksmų žurnalo, nerašyk kaskart cp cfg cfg_back, per Laikas susipainiosi ir pamirš šį reikalą.

Kaip netyčia parašyti „Haproxy“ žiniatinklio GUI

Prieš daugelį metų sutikau tokį nuostabų balansuotoją kaip Haproxy. Viskas nuostabu ir gražu. Turėjau jų daug ir galvojau apie tai ieškoti GUI, bet stebėtinai jos nebuvo. Labai populiari programinė įranga, taip pat gana sena, bet, gerai, aš pagalvojau ir toliau retkarčiais redagavau savo mėgstamo vi rašiklius ir turėjau daugybę atidarytų skirtukų su visų aktyvių serverių statistika. Bet atėjo laikas, ir aš turėjau patenkinti žmonių, kurie rašė programinę įrangą, „norus“, kad jie dirbtų per http, ir štai čia viskas pasidarė įdomu…

Mano rankos niežti, akys nušvito ir aš pradėjau. Tiksliau, pradėjau galvoti, ką parašyti, prisiminti seniai pamirštą PHP, kažkaip nenorėjau ir atrodė, kad jis ne visai tinka šiam reikalui. Galų gale pasirinkimas krito ant Python, jis tikrai pravers ateityje, pagalvojau ir pradėjau įsisavinti informaciją.

Pradžioje užduotys nebuvo tokios sunkios: galimybė redaguoti konfigūracijas iš žiniatinklio sąsajos iš vieno įėjimo taško, išsaugoti ankstesnes konfigūracijų versijas. Šis ne itin didelis funkcionalumas buvo įdiegtas gana greitai, bet tada mane apėmė arba administratoriaus tinginystė, arba pagarsėjęs perfekcionizmas ir, žinoma, man to atrodė nepakankamai. Ir tada pradėjo atsirasti tokios funkcijos kaip: dviejų konfigūracijų palyginimas, visų su konfigūracijomis susijusių veiksmų registravimas, Runtime API ir skyrių įtraukimas per internetą.

Kaip netyčia parašyti „Haproxy“ žiniatinklio GUI

Ir kaip padorus UNIX administratorius, gyvenantis iš nemokamos programinės įrangos, nusprendžiau ja pasidalinti su pasauliu, o gal dar kam nors pravers? Bet tam reikėjo daryti viską taip, kad nereikėtų eiti į kodą, o daugiausiai į konfigūracijos užpakaliukus (dabar dauguma nustatymų persikėlė į duomenų bazę. O man ji turi tampa patogiau juos redaguoti ir atnaujinant nebus klaidų dėl bet kokio arba parametro trūkumo).

Po mėnesio aš be didelių lūkesčių paskelbiau savo darbą „Github“. Bet veltui, programinė įranga pasirodė šiek tiek paklausi ir tada prasidėjo linksmybės... Aktyvus „atnaujinimas“ vyksta jau beveik metus. Kartais kyla noras viso to mesti, nes... mano poreikiai jau seniai patenkinti. Na, o kam man reikia galimybės per žiniatinklį įdiegti „klasterį“ su „Keepalived“ ir HAProxy, jei tai užtrunka tik kelias minutes? Bet pasirodo, kad žmonėms to reikia, ir man įdomu, ir yra ką veikti. Nors, žinoma, yra funkcijų, kurių man reikia, pavyzdžiui, stebėti backend serverius ir ar jie yra prieinami Haproxy. Mes, žinoma, turime įmonių stebėjimą, bet ten yra žmonių, kurie gali reaguoti gana ilgai, + nes... Mano skyrius užsiima kūrimu, o programinė įranga atsiranda ir dingsta pakankamai ilgai, kad galėtų įveikti biurokratiją.

Kaip netyčia parašyti „Haproxy“ žiniatinklio GUI

Apskritai nusprendžiau pasidalinti, nes pasirodo, kad tai vienintelė nemokama GUI. Ką daryti, jei kam nors tai bus naudinga? Nuoroda į GitHub.

Šaltinis: www.habr.com

Добавить комментарий