Kako slučajno napisati web-GUI za Haproxy

Moderni svijet sistemskih administratora toliko nas je ulijenio s prekrasnim web-licima da čak i ne želimo instalirati softver koji nema baš tog “tipa” (osjećam se kao da će kamenje poletjeti s pobožnih šivača) , pa, nije da se stalno penješ kroz red, zar ne? Sve bi bilo u redu da je softver instaliran, konfiguriran i zaboravljen, ali što učiniti ako se morate stalno penjati tamo, uređivati, i naravno nema dnevnika svih radnji, nemojte pisati cp cfg cfg_back svaki put, preko s vremenom ćete se zbuniti i zaboraviti na ovu stvar.

Kako slučajno napisati web-GUI za Haproxy

Prije mnogo godina upoznao sam tako divnog balansera kao što je Haproxy. Sve je divno i lijepo. Imao sam ih mnogo i razmišljao sam o tome da potražim GUI za to, ali začudo nije ga bilo. Vrlo popularan softver, a i prilično star, ali dobro, pomislio sam i nastavio povremeno uređivati ​​olovke u svom omiljenom vi i imati hrpu otvorenih tabova sa statistikama svih aktivnih servera. Ali došlo je vrijeme i morao sam zadovoljiti “želje” ljudi koji su pisali softver za rad preko http-a, i tu su stvari postale zanimljive…

Zasvrbjele su me ruke, zasjale oči i trgnula sam se. Točnije, počeo sam razmišljati o tome što da pišem, sjetiti se davno zaboravljenog PHP-a, nekako nisam htio i činilo se da nije sasvim prikladan za ovu stvar. Na kraju je izbor pao na Python, sigurno će mi dobro doći u budućnosti, pomislio sam i počeo upijati informacije.

U početku zadaci nisu bili tako teški: mogućnost uređivanja konfiguracija s web sučelja s jedne ulazne točke, spremanje prethodnih verzija konfiguracija. Ova ne baš velika funkcionalnost implementirana je dosta brzo, ali onda je u meni uzela maha ili lijenost admina ili notorni perfekcionizam i to mi se naravno učinilo nedovoljno. A onda su se počele pojavljivati ​​takve značajke kao što su: usporedba dviju konfiguracija, bilježenje svih radnji povezanih s konfiguracijama, Runtime API i dodavanje odjeljaka putem weba.

Kako slučajno napisati web-GUI za Haproxy

I kao pristojan UNIX administrator koji živi od besplatnog softvera, odlučio sam to podijeliti sa svijetom, a možda još nekome bude od koristi? Ali za ovo je bilo potrebno učiniti sve na takav način da ne morate ići u kod, već najviše u konfiguracijske stražnjice (Sada je većina postavki premještena u bazu podataka. Što se mene tiče, jest postati prikladniji za njihovo uređivanje i neće biti pogrešaka prilikom ažuriranja zbog nedostatka bilo kojeg ili parametra).

Mjesec dana kasnije, objavio sam svoj rad na Githubu bez puno očekivanja. Ali uzalud, pokazalo se da je softver malo tražen i onda je počela zabava... Aktivno “ažuriranje” traje već gotovo godinu dana. Ponekad postoji želja da se svega odreknete, jer... moje su potrebe već dugo pokrivene. Pa, zašto mi treba prilika za implementaciju "klastera" s keepalived i HAProxy putem weba, ako mi treba samo nekoliko minuta? Ali pokazalo se da to ljudima treba, a mene zanima i postoji nešto za učiniti. Iako, naravno, postoje funkcije koje su mi potrebne, na primjer, praćenje pozadinskih poslužitelja i jesu li dostupne za Haproxy. Mi, naravno, imamo korporativni nadzor, ali ima ljudi koji mogu reagirati dosta dugo, + jer... Moj odjel se bavi razvojem i softver se pojavljuje i nestaje dovoljno dugo da se probije kroz birokraciju.

Kako slučajno napisati web-GUI za Haproxy

Općenito, odlučio sam podijeliti, jer se pokazalo da je ovo jedini besplatni GUI. Što ako netko to smatra korisnim? Veza na GitHub.

Izvor: www.habr.com

Dodajte komentar