Kako pomotoma napisati spletni GUI za Haproxy

Sodobni svet sistemskih administratorjev nas je tako polenil s čudovitimi spletnimi obrazi, da si sploh ne želimo namestiti programske opreme, ki nima prav tega »tipa« (zdi se mi, da bodo kamni leteli od pobožnih šivalcev) , no, ni tako, kot da nenehno plezaš skozi vrsto, kajne? Vse bi bilo v redu, če bi bila programska oprema nameščena, konfigurirana in pozabljena, toda kaj storiti, če morate nenehno plezati tja, urejati in seveda ni dnevnika vseh dejanj, ne pišite cp cfg cfg_back vsakič, čez čas se boš zmedel in pozabil na to zadevo.

Kako pomotoma napisati spletni GUI za Haproxy

Pred mnogimi leti sem spoznal tako čudovitega balanserja, kot je Haproxy. Vse je čudovito in lepo. Imel sem jih veliko in razmišljal sem, da bi poiskal GUI zanj, a ga presenetljivo ni bilo. Zelo popularna programska oprema, pa tudi precej stara, a dobro, sem pomislil in še naprej občasno urejal peresa v svojem najljubšem viju in imel kup odprtih zavihkov s statistiko vseh aktivnih strežnikov. Toda prišel je čas in moral sem zadovoljiti "želje" ljudi, ki so pisali programsko opremo za delo prek http, in tu so stvari postale zanimive ...

Roke so me srbele, oči so se mi zasvetile in začel sem. Natančneje, začel sem razmišljati o tem, kaj naj pišem, spomniti se dolgo pozabljenega PHP, nekako nisem želel in zdelo se je, da ni povsem primeren za to zadevo. Na koncu je izbira padla na Python, zagotovo mi bo prišel prav v prihodnosti, sem pomislil in začel vsrkavati informacije.

Na začetku naloge niso bile tako težke: možnost urejanja konfiguracij iz spletnega vmesnika z ene vstopne točke, shranjevanje prejšnjih različic konfiguracij. Ta ne posebno velika funkcionalnost je bila implementirana precej hitro, potem pa me je prevzela ali adminova lenoba ali razvpiti perfekcionizem in to se mi je seveda zdelo premalo. In potem so se začele pojavljati funkcije, kot so: primerjava dveh konfiguracij, beleženje vseh dejanj, povezanih s konfiguracijami, Runtime API in dodajanje razdelkov prek spleta.

Kako pomotoma napisati spletni GUI za Haproxy

In kot spodoben skrbnik UNIX-a, ki živi od brezplačnega programja, sem se odločil, da ga delim s svetom in morda bo koristil še komu? Toda za to je bilo treba vse narediti tako, da vam ni bilo treba iti v kodo, ampak kvečjemu v konfiguracijske zadnjice (Zdaj se je večina nastavitev preselila v bazo podatkov. Kar se mene tiče, je postalo bolj priročno za njihovo urejanje in pri posodabljanju ne bo prišlo do napak zaradi pomanjkanja parametra ali ).

Mesec dni kasneje sem svoje delo objavil na Githubu brez večjih pričakovanj. Toda zaman, programska oprema se je izkazala za malo povpraševanje in potem se je začela zabava ... Aktivno "posodabljanje" poteka že skoraj eno leto. Včasih obstaja želja, da bi vse opustili, ker... moje potrebe so že dolgo pokrite. No, zakaj potrebujem priložnost za namestitev "gruče" s keepalived in HAProxy prek spleta, če mi vzame le nekaj minut? A izkazalo se je, da ljudje to potrebujejo, mene zanima in je nekaj za narediti. Čeprav seveda obstajajo funkcije, ki jih potrebujem, na primer spremljanje zalednih strežnikov in ali so na voljo za Haproxy. Seveda imamo korporativni nadzor, vendar so tam ljudje, ki lahko reagirajo precej dolgo, + ker ... Moj oddelek se ukvarja z razvojem in programska oprema se pojavi in ​​izgine dovolj dolgo, da se prebije skozi birokracijo.

Kako pomotoma napisati spletni GUI za Haproxy

Na splošno sem se odločil deliti, ker se je izkazalo, da je to edini brezplačen GUI. Kaj pa, če se komu zdi koristno? Povezava do GitHub.

Vir: www.habr.com

Dodaj komentar