Kako naključno napisati Web-GUI za Haproxy

Sodobni svet sistemskih administratorjev nas je razvadil z lepimi spletnimi vmesniki, da se nam niti ne ljubi nameščati programske opreme, kjer ni tega »GUI« (čutim, da me bodo zdaj napadli pravično razburjeni programerji), saj res ni treba nenehno posegati po ukazni vrstici, kajne? Vse bi bilo v redu, če bi programsko opremo namestil, konfiguriral in pozabil, a kaj storiti, če je potrebno nenehno posegati, urejati in seveda ni dnevnika vseh dejanj – ali pač ni treba vsakič pisati cp cfg cfg_back, sčasoma se lahko zmeden in opustiš to nalogo.

Kako naključno napisati Web-GUI za Haproxy

Pred mnogo leti sem se spoznal s čudovitim uravnoteževalnikom, kot je Haproxy. Vse je bilo čudovito in lepo. Imel sem jih veliko in sem začel razmišljati o iskanju GUI zanj, a ga na presenečenje ni bilo. Tako priljubljena programska oprema, pa še povsem stara, no, pa sem si rekel in nadaljeval občasno ročno urejanje v svojem najljubšem vi in imel kup odprtih zavihkov s statistiko vseh aktivnih. strežnikov. A prišel je čas, ko sem moral zadovoljevati »želje« ljudi, ki so pisali programsko opremo za delo prek http, in tukaj se je začelo zanimivo …

Roke so se mi zasrbeli, oči so mi zasvetile in sem se lotil dela. Natančneje, začel sem razmišljati, v čem naj pišem, spominjati se dolgo pozabljenega PHP, a nekako se mi ni ljubilo, pa se mi je zdelo, da ni ravno primeren za to nalogo. Na koncu je izbira padla na Python, v prihodnosti se bo zagotovo izkazalo za koristno, sem pomislil, in začelo se je vpijanje informacij.

Na začetku naloge niso bile tako zelo zapletene: možnost urejanja konfiguracij iz spletnega vmesnika iz ene točke dostopa, shranjevanje prejšnjih različic konfiguracij. Ta, ne ravno obsežen funkcionalnost, je bila uresničena dokaj hitro, vendar je v meni vzklila ali lenoba administratorja ali prekleto perfekcionizem in mi je bilo seveda tega malo. Takrat so začele nastajati lastnosti, kot so: primerjanje dveh konfiguracij, beleženje vseh dejanj v zvezi s konfiguracijami, Runtime API in dodajanje sekcij prek spleta.

Kako naključno napisati Web-GUI za Haproxy

In kot pravi UNIX administrator, ki živi od prostega programske opreme, sem se odločil deliti z svetom, morda bo komu koristilo? A za to je bilo potrebno narediti vse tako, da ni bilo treba posegati v kodo, ampak največ v konfiguracijske datoteke (trenutno je večina nastavitev prešla v bazo. Po mojem mnenju je to postalo bolj priročno za urejanje in ob posodabljanju ne bo napak zaradi manjkajočega parametra v konfiguraciji).

Mesec dni po tem, ko sem svoj projekt naložil na Github, brez posebnih pričakovanj, se je izkazalo, da je programska oprema nekoliko povpraševana in začelo se je najbolj zanimivo... Aktivno "dopolnjevanje" poteka že skoraj leto. Občasno imam željo, da vse to pustim, saj so moje potrebe že davno zadovoljene. Kaj mi pomaga možnost postavitve "klastra" z keepalived in HAProxy preko spletnega vmesnika, če mi to vzame največ nekaj minut? Očitno pa ljudem to bermagaja, tudi meni je zanimivo, in je nekaj dela. Seveda pa obstajajo tudi funkcije, ki so mi potrebne, na primer, kako spremljati backend strežnike, ali so na voljo za Haproxy. Imamo seveda korporativno spremljanje, ampak tam so ljudje, ki lahko kar nekaj časa reagirajo, + ker se moje področje ukvarja z razvojem in programska oprema se pojavlja in izgine, se moram kar dolgo prebiti skozi birokracijo.

Kako naključno napisati Web-GUI za Haproxy

Na kratko sem se odločil deliti, saj se izkaže, da je to edini brezplačni GUI. Morda bo komu prišlo prav? Povezava do GitHub-a.

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster