Hogyan írjunk véletlenül egy Web-GUI-t a Haproxyhoz

A rendszergazdák modern világa olyan lustává tett minket a gyönyörű web-arcokkal, hogy nem is akarunk olyan szoftvereket telepíteni, amelyekben nem ez a „fickó” van (úgy érzem, a kövek repülnek az áhítatos varrók elől) , hát nem mintha állandóan átmásznál a vonalon, ugye? Minden rendben lenne, ha a szoftver telepítve, konfigurálva és elfelejtve lenne, de mi a teendő, ha állandóan oda kell mászni, szerkeszteni, és persze nincs minden művelet naplója, ne írjon minden alkalommal cp cfg cfg_back, át idővel összezavarodsz és elfelejted ezt a dolgot.

Hogyan írjunk véletlenül egy Web-GUI-t a Haproxyhoz

Sok évvel ezelőtt találkoztam egy olyan csodálatos egyensúlyozóval, mint Haproxy. Minden csodálatos és gyönyörű. Sok volt belőlük, és arra gondoltam, hogy keresek hozzá GUI-t, de meglepő módon nem volt. Egy nagyon népszerű szoftver, és egyben elég régi is, de na jó, gondoltam és folytattam időnként a kedvenc vi-m tollainak szerkesztését, és van egy csomó nyitott lap az összes aktív szerver statisztikáival. De eljött az idő, és ki kellett elégítenem azoknak az embereknek a „kívánságait”, akik szoftvereket írtak, hogy a http-n keresztül működjenek, és itt váltak érdekessé a dolgok…

Viszketett a kezem, felcsillant a szemem és elkezdtem. Pontosabban elkezdtem gondolkodni, hogy mit írjak be, hogy emlékezzek a rég elfeledett PHP-re, valahogy nem akartam, és úgy tűnt, hogy nem teljesen alkalmas erre a kérdésre. Végül a Pythonra esett a választás, az biztosan jól fog jönni a jövőben – gondoltam, és elkezdtem magamba szívni az információkat.

Kezdetben nem voltak olyan nehezek a feladatok: a webes felületről egy belépési pontról lehetett konfigurációkat szerkeszteni, elmenteni a konfigurációk korábbi verzióit. Ezt a nem túl nagy funkcionalitást elég gyorsan meg lehetett valósítani, de aztán vagy az admin lustasága, vagy a hírhedt perfekcionizmus vette át rajtam az uralmat, és persze ez nem tűnt elégnek. Aztán olyan szolgáltatások kezdtek megjelenni, mint: két konfiguráció összehasonlítása, a konfigurációkkal kapcsolatos összes művelet naplózása, Runtime API és szekciók hozzáadása az interneten keresztül.

Hogyan írjunk véletlenül egy Web-GUI-t a Haproxyhoz

És mint tisztességes UNIX rendszergazda, aki ingyenes szoftverekből él, úgy döntöttem, megosztom a világgal, és talán másnak is hasznos lesz? De ehhez mindent úgy kellett csinálni, hogy ne a kódba kelljen belemenni, hanem legfeljebb a config-ba (most a beállítások nagy része átkerült az adatbázisba. Nekem meg van kényelmesebbé válik a szerkesztésük, és a frissítés során nem lesz hiba a vagy paraméter hiánya miatt).

Egy hónappal később különösebb várakozás nélkül közzétettem a mesterségemet a Githubon. Ám hiába, kiderült, hogy a szoftver enyhén keresett, aztán elkezdődött a móka... Aktív „frissítés” közel egy éve folyik. Néha van vágy, hogy mindent feladjak, mert... szükségleteimet már régóta fedezték. Nos, miért van szükségem arra a lehetőségre, hogy a weben keresztül telepítsek egy „fürtöt” a Keepalived és a HAProxy segítségével, ha ez csak pár percet vesz igénybe? De kiderül, hogy az embereknek szükségük van rá, és engem érdekel, és van mit tenni. Bár természetesen vannak olyan funkciók, amelyekre szükségem van, például a háttérkiszolgálók figyelésére, és arra, hogy elérhetőek-e a Haproxy számára. Nálunk természetesen van céges monitorozás, de ott vannak, akik elég sokáig tudnak reagálni, + mert... Az osztályom fejlesztéssel foglalkozik, és a szoftverek elég hosszú ideig jelennek meg és tűnnek el ahhoz, hogy átvészeljék a bürokráciát.

Hogyan írjunk véletlenül egy Web-GUI-t a Haproxyhoz

Általában úgy döntöttem, hogy megosztom, mert kiderült, hogy ez az egyetlen ingyenes grafikus felület. Mi van, ha valaki hasznosnak találja? Link a GitHubhoz.

Forrás: will.com

Hozzászólás