Cum să scrii accidental un Web-GUI pentru Haproxy

Lumea modernă a administratorilor de sistem ne-a răsfățat cu interfețe web frumoase, astfel că nu mai avem nici măcar chef să instalăm software care nu are acest "gui" (simt că acum vor zbura critici de la adepții rândurilor de comandă), nu-i așa că nu vrei să tot intri acolo prin linie de comandă, nu? Ar fi fost perfect dacă ai putea să instalezi software-ul, să-l configurezi și să-l uiți, dar ce faci când trebuie să intri constant, să modifici, și, desigur, nu există un jurnal al tuturor acțiunilor. Nu vrei să scrii în fiecare dată cp cfg cfg_back, căci cu timpul te vei pierde în asta.

Cum să scrii accidental un Web-GUI pentru Haproxy

Acum mulți ani, am descoperit un minunat echilibrator numit Haproxy. Totul era fantastic și frumos. Am ajuns să am multe dintre ele și m-am gândit să caut un GUI pentru el, dar cu surprindere am descoperit că nu exista. Un software foarte popular, de altfel destul de vechi, dar am trecut la gândul că poate nu e mare lucru și am continuat să editez ocazional în viul meu preferat și să am o mulțime de tab-uri deschise cu statisticile tuturor activelor. servere. Însă a venit vremea să satisfac „dorințele” oamenilor care au scris software pentru a lucra prin http, și aici a început partea interesantă…

Mâinile au început să cheme, ochii s-au aprins și am pornit la treabă. Mai exact, am început să mă gândesc la ce să scriu, am început să-mi amintesc PHP-ul uitat de mult, dar nu prea aveam chef, și părea că nu se potrivește foarte bine pentru asta. În final, am ales Python, m-am gândit că va fi cu siguranță util în viitor și am început să absorb informații.

La început, sarcinile nu erau atât de complicate: posibilitatea de a edita configurațiile dintr-o interfață web dintr-un singur punct de acces, păstrarea versiunilor anterioare ale configurațiilor. Această funcționalitate, deși nu foarte mare, a fost realizată destul de rapid, dar în mine a început să se declanșeze fie lenea de administrator, fie atitudinea bine cunoscută a perfecționismului și mi s-a părut că este, desigur, prea puțin. Și aici au început să apărea funcții precum: compararea a două configurații, jurnalizarea tuturor acțiunilor legate de configurații, API Runtime și adăugarea secțiunilor prin intermediul web-ului.

Cum să scrii accidental un Web-GUI pentru Haproxy

Și, ca un administrator UNIX de bună credință care trăiește din software-ul liber, am decis să împărtășesc cu lumea, poate va fi de folos cuiva? Dar pentru asta trebuia să fac totul astfel încât să nu fie necesar să mă scufund în cod, ci să intervin maximal în configurare (Acum majoritatea setărilor s-au mutat în bază. Din punctul meu de vedere, a devenit mai convenabil de editat și la actualizare nu vor apărea erori din cauza lipsei vreunui parametru în configurație).

După o lună, am publicat creația mea pe Github, fără a avea așteptări prea mari. Dar degeaba, software-ul s-a dovedit puțin căutat și de aici a început partea interesantă... Activitatea de „îmbunătățire” durează deja aproape un an. Uneori simt dorința de a renunța, deoarece nevoile mele sunt deja satisfăcute de mult. Dar de ce mi-ar trebui posibilitatea de a desfășura un „cluster” cu keepalived și HAProxy printr-o interfață web, când îmi ia cel mult câteva minute? Se pare că oamenii au nevoie de asta, da, și și eu sunt interesat, și am cu ce să mă ocup. Deși, desigur, există și funcții necesare pentru mine, cum ar fi monitorizarea serverelor backend, dacă acestea sunt disponibile pentru Haproxy. Avem desigur monitorizare corporativă, dar acolo sunt oameni care pot răspunde suficient de încet, + având în vedere că departamentul meu se ocupă de dezvoltare și software-ul apare și dispare, este destul de greu să treci prin birocrație.

Cum să scrii accidental un Web-GUI pentru Haproxy

În general, am decis să împărtășesc, deoarece se pare că acesta este singurul GUI gratuit. Poate că va fi de folos cuiva? Link către GitHub.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster