Si të shkruash rastësisht një Web-GUI për Haproxy

Bota moderne pĂ«r administratorĂ«t e sistemeve na kanĂ« bĂ«rĂ« tĂ« dĂ«shirojmĂ« ndĂ«rfaqe tĂ« bukura web, aq sa nuk na jepet mĂ« mendja tĂ« instalojmĂ« softin, ku nuk ka kĂ«tĂ« ‘GUI’ (ndiej tani se do tĂ« fillojnĂ« tĂ« flasin ata qĂ« janĂ« pĂ«rkushtuar me rreshta), nuk mund tĂ« hyjmĂ« gjithmonĂ« pĂ«rmes terminalit, apo jo? NjĂ«soj Ă«shtĂ«, po tĂ« instalosh softin, ta konfigurosh dhe ta harrosh, por çfarĂ« tĂ« bĂ«sh nĂ«se duhet tĂ« hysh shpesh pĂ«r tĂ« rregulluar gjĂ«ra, e sigurisht nuk ka asnjĂ« log tĂ« veprimeve, nuk mund tĂ« shkruash çdo herĂ« cp cfg cfg_back, me kalimin e kohĂ«s do tĂ« ngatĂ«rrohesh dhe do ta lĂ«sh pausĂ« kĂ«tĂ« punĂ«.

Si të shkruash rastësisht një Web-GUI për Haproxy

Para shumĂ« vjetĂ«sh u njoha me njĂ« balancer kaq tĂ« shkĂ«lqyer, si Haproxy. TĂ« gjitha janĂ« tĂ« shkĂ«lqyera dhe tĂ« bukura. U bĂ«ra me shumĂ« dhe mendova tĂ« kĂ«rkoj njĂ« GUI pĂ«r tĂ«, por pĂ«r habi nuk kishte. NjĂ« soft shumĂ« popullor, pĂ«r mĂ« tepĂ«r mjaft i vjetĂ«r, por nuk kishte rĂ«ndĂ«si, mendova dhe vazhdova tĂ« rregulloja ndonjĂ«herĂ« me duar nĂ« vi-un tim tĂ« preferuar dhe tĂ« kisha njĂ« numĂ«r tĂ« madh tĂ« hapura me statistikat e tĂ« gjitha aktiveve. serverĂ«sh. Por erdhi koha kur duhej t’i plotĂ«soja dĂ«shirat e njerĂ«zve qĂ« kishin shkruar soft pĂ«r tĂ« punuar pĂ«rmes http, dhe aty filloi e gjithĂ« historia interesante...

Duart më dorezuan, sytë më ndriçuan dhe unë fillova. Më saktë, fillova të mendoj se në çfarë duhet të shkruaj, duke kujtuar PHP-në e haruar, duke u ndjerë disi i pashpjegueshëm, dhe duke menduar se ndoshta nuk ishte krejtësisht i përshtatshëm për këtë punë. Në fund, zgjodha Python, mendova se do të më nevojitej në të ardhmen dhe fillova të përthith informacione.

Në fillim, detyrat nuk ishin aq të komplikuara: mundësia për të redaktuar konfigurimet nga një ndërfaqe web nga një pikë hyrjeje, ruajtja e versioneve të mëparshme të konfigurimeve. Ky funksionalitet, jo shumë i madh, u realizua mjaft shpejt, por pastaj më kaploi ose lenia e adminit, ose perfeccionizmi i famshëm dhe më dukej se ishte disi pak. Dhe atëherë filluan të shfaqeshin gjëra si: krahasimi i dy konfigurimeve, regjistrimi i të gjitha veprimeve të lidhura me konfigurimet, API Runtime dhe shtimi i seksioneve përmes webit.

Si të shkruash rastësisht një Web-GUI për Haproxy

Dhe si një administrator i rregullt UNIX që jeton nga softi i lirë, vendosa të ndaj me botën, ndoshta ndokujt do t'i shërbejë? Por për këtë duhej të bërë gjithçka që të mos ishte e nevojshme të hyja në kod, por maksimumi në konfigurime (Tani shumica e settings janë zhvendosur në bazë. Sipas mendimit tim, është bërë më e lehtë për tu redaktuar dhe gjatë përditësimeve nuk do të ketë gabime për shkak të mungesës së ndonjë parametri në konfigurim).

Pas njĂ« muaj, e publikova punimin tim nĂ« Github pa pritur shumĂ«. Por gabova, softi u bĂ« disi i kĂ«rkuar dhe kĂ«tu filluan gjĂ«rat mĂ« interesante
 Modifikimet e tij janĂ« duke vazhduar tashmĂ« pĂ«r pothuajse njĂ« vit. NdonjĂ«herĂ« ndjej dĂ«shirĂ«n ta braktis atĂ«, pasi nevojat e mia janĂ« pĂ«rmbushur prej kohĂ«sh. Pse mĂ« nevojitet mua mundĂ«sia tĂ« krijoj njĂ« 'klaster' me keepalived dhe HAProxy pĂ«rmes njĂ« ndĂ«rfaqeje web, kur mĂ« zĂ« kjo nga disa minuta? Por, ndonjĂ«herĂ« ka nevojĂ«, dhe pĂ«r mua Ă«shtĂ« interesante, dhe kam me çfarĂ« tĂ« merrem. PatjetĂ«r qĂ« ka dhe funksione qĂ« mĂ« nevojiten, si monitorimi i serverĂ«ve backend, nĂ«se ata janĂ« tĂ« qasshĂ«m pĂ«r Haproxy. Natyrisht, kemi monitorimin tonĂ« korporativ, por aty punojnĂ« njerĂ«z qĂ« mund tĂ« reagojnĂ« njĂ« kohĂ« tĂ« gjatĂ«, + ngase departamenti im merret me zhvillimin dhe softi herĂ« shfaqet, herĂ« zhduket, Ă«shtĂ« mjaft e vĂ«shtirĂ« tĂ« kalosh nĂ«pĂ«r burokraci.

Si të shkruash rastësisht një Web-GUI për Haproxy

Në përgjithësi, vendosa të ndaj, sepse del se kjo është ndërfaqja e vetme GUI falas. Dhe ndoshta ndokujt i nevojitet? Linku në GitHub.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster