Hoe u per ongeluk een web-GUI voor Haproxy schrijft

De moderne wereld van systeembeheerders heeft ons zo lui gemaakt met prachtige web-faces dat we niet eens software willen installeren die deze "man" niet heeft (ik heb het gevoel dat er stenen op het punt staan ​​te vliegen van de vrome naaisters) Nou, het is niet zo dat je voortdurend door de rij klimt, toch? Alles zou in orde zijn als de software werd geïnstalleerd, geconfigureerd en vergeten, maar wat te doen als je daar constant naartoe moet klimmen, bewerken en er natuurlijk geen logboek is van alle acties, schrijf dan niet elke keer cp cfg cfg_back keer zul je in de war raken en deze kwestie vergeten.

Hoe u per ongeluk een web-GUI voor Haproxy schrijft

Vele jaren geleden ontmoette ik zo'n prachtige balancer als Haproxy. Alles is geweldig en mooi. Ik had er veel en dacht erover om er een GUI voor te zoeken, maar verrassend genoeg was er niet één. Een zeer populaire software, en ook behoorlijk oud, maar ach, dacht ik en bleef af en toe de pennen in mijn favoriete vi bewerken en een aantal open tabbladen hebben met statistieken van alle actieve servers. Maar de tijd kwam en ik moest voldoen aan de ‘wensen’ van mensen die software schreven om via http te werken, en dat is waar het interessant werd…

Mijn handen jeukten, mijn ogen lichtten op en ik begon. Om precies te zijn, ik begon na te denken over wat ik moest schrijven, om de lang vergeten PHP te onthouden, op de een of andere manier wilde ik dat niet, en het leek erop dat het niet helemaal geschikt was voor deze kwestie. Uiteindelijk viel de keuze op Python, het zal in de toekomst zeker van pas komen, dacht ik, en begon de informatie in me op te nemen.

In het begin waren de taken niet zo moeilijk: de mogelijkheid om configuraties vanuit de webinterface vanaf één toegangspunt te bewerken, waarbij eerdere versies van configuraties konden worden opgeslagen. Deze niet bijzonder grote functionaliteit werd vrij snel geïmplementeerd, maar toen nam de luiheid van de beheerder of het beruchte perfectionisme de overhand in mij en dit leek mij natuurlijk niet genoeg. En toen begonnen dergelijke functies te verschijnen als: vergelijking van twee configuraties, loggen van alle acties gerelateerd aan configuraties, Runtime API en het toevoegen van secties via internet.

Hoe u per ongeluk een web-GUI voor Haproxy schrijft

En als fatsoenlijke UNIX-beheerder die leeft van vrije software, besloot ik deze met de wereld te delen, en misschien zal het voor iemand anders nuttig zijn? Maar hiervoor was het nodig om alles zo te doen dat je niet in de code hoefde te gaan, maar hooguit in de configuratieknoppen (nu zijn de meeste instellingen naar de database verplaatst. Wat mij betreft, dat is gebeurd het wordt gemakkelijker om ze te bewerken en er zullen geen fouten optreden bij het bijwerken vanwege het ontbreken van een parameter).

Een maand later plaatste ik mijn ontwerp zonder veel verwachting op Github. Maar tevergeefs bleek er een beetje vraag naar de software te zijn en toen begon de pret... Het actieve "updaten" is al bijna een jaar aan de gang. Soms is er een verlangen om alles op te geven, omdat... mijn behoeften zijn al lange tijd gedekt. Waarom heb ik de mogelijkheid nodig om een ​​“cluster” met keepalived en HAProxy via internet te implementeren, als het me maar een paar minuten kost? Maar het blijkt dat mensen het nodig hebben, en ik ben geïnteresseerd, en er is iets te doen. Al zijn er uiteraard functies die ik nodig heb, bijvoorbeeld het monitoren van backend-servers en of deze beschikbaar zijn voor Haproxy. We hebben natuurlijk bedrijfsmonitoring, maar er zijn mensen die heel lang kunnen reageren, + omdat... Mijn afdeling houdt zich bezig met ontwikkeling en software verschijnt en verdwijnt lang genoeg om door de bureaucratie heen te komen.

Hoe u per ongeluk een web-GUI voor Haproxy schrijft

Over het algemeen besloot ik te delen, omdat het blijkt dat dit de enige gratis GUI is. Wat als iemand het nuttig vindt? Link naar GitHub.

Bron: www.habr.com

Voeg een reactie