Kako slučajno napisati Web-GUI za Haproxy

Savremeni svijet sistem administratora nas je ulijenio sa prekrasnim web-licima, da nije čak ni želja za instaliranjem softvera tamo gdje nema baš tog "mojka" (osjećam da će sada kamenje letjeti od pravoslavnih škrabača), pa nije uvek se penje tamo kroz liniju, zar ne? Sve bi bilo u redu da je softver instaliran, konfigurisan i zaboravljen, ali šta da radite ako se morate stalno penjati tamo, uređivati ​​i naravno nema dnevnika svih radnji, nemojte pisati cp cfg cfg_back svaki put, tokom vremena zbunićete se 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 prelepo. Imao sam ih puno i razmišljao sam o tome da nađem GUI za to, ali iznenađujuće ga nije bilo. Vrlo popularan softver, osim toga, prilično star, ali dobro, pomislio sam i nastavio povremeno uređivati ​​ručke u mom omiljenom vi i imati gomilu otvorenih kartica sa statistikom svih aktivnih servera. Ali došlo je vrijeme i morao sam zadovoljiti "listu želja" ljudi koji su pisali softver za rad preko http-a, i tu je počelo zanimljivo...

Ruke su me svrbele, oči su mi zasjale i počeo sam. Tačnije, počeo sam da razmišljam o čemu da pišem, da se setim davno zaboravljenog PHP-a, nekako mi se nije dalo, a činilo se da nije baš pogodan za ovaj posao. Kao rezultat toga, izbor je pao na Python, mislio sam da će mi svakako dobro doći u budućnosti i počelo je upijanje informacija.

Na početku zadaci nisu bili tako teški: mogućnost uređivanja konfiguracija iz web sučelja s jedne ulazne točke, spremanje prethodnih verzija konfiguracija. Ovu, ne baš veliku funkcionalnost, bilo je moguće prilično brzo implementirati, ali onda je u mene uskočila ili adminska lijenost ili ozloglašeni perfekcionizam, a to mi se naravno činilo nedovoljno. A onda su se takve karakteristike počele pojavljivati ​​kao: poređenje dvije konfiguracije, evidentiranje svih radnji vezanih za konfiguracije, Runtime API i dodavanje sekcija putem weba.

Kako slučajno napisati Web-GUI za Haproxy

I kao pristojan UNIX administrator koji živi od besplatnog softvera, odlučio sam ga podijeliti sa svijetom, a neko drugi će mi dobro doći? Ali za to je bilo potrebno učiniti sve da se ne morate penjati u kod, već najviše u konfiguracijske zadnjice (Sada se većina postavki preselila u bazu podataka. Što se mene tiče, postalo je zgodnije da ih uredite i neće biti grešaka tokom ažuriranja zbog nedostatka neke vrste konfiguracije u konfiguraciji ili parametru).

Mjesec dana kasnije, objavio sam svoj zanat na Github-u ne računajući ni na šta. I uzalud, softver se pokazao malo traženim, a onda je počelo ono najzanimljivije ... Aktivna "dorada" traje skoro godinu dana. Ponekad se javi želja da se sve ovo napusti, jer. Moje potrebe su dugo bile pokrivene. Pa, zašto mi je potrebna prilika da implementiram "klaster" sa keepalived i HAProxy putem web lica, ako mi treba najviše par minuta? I ispostavilo se da to ljudima treba, a mene zanima i ima šta da se radi. Iako, naravno, postoje funkcije koje su mi potrebne, na primjer, kako pratiti pozadinske servere, da li su dostupni za Haproxy. Naravno, imamo korporativni monitoring, ali ima ljudi koji mogu da reaguju dosta dugo, + jer moj odjel se razvija, a softver dolazi i odlazi dovoljno dugo da prođe kroz birokratiju.

Kako slučajno napisati Web-GUI za Haproxy

Generalno, odlučio sam podijeliti, jer se ispostavilo da je ovo jedini besplatni GUI. Šta ako nekome dobro dođe? Link na GitHub.

izvor: www.habr.com

Dodajte komentar