Hoe om per ongeluk 'n Web-GUI vir Haproxy te skryf

Die moderne wêreld van stelseladministrateurs het ons lui gemaak met pragtige web-gesigte, dat dit nie eers 'n begeerte is om sagteware te installeer waar daar nie hierdie einste "ou" is nie (ek voel nou sal klippe van ortodokse skribbelaars af vlieg nie), wel, dit is nie klim altyd daar deur die lyn, reg? Alles sal goed wees as die sagteware geïnstalleer, gekonfigureer en vergeet is, maar wat om te doen as jy voortdurend daarheen moet klim, redigeer, en natuurlik is daar geen logboek van alle aksies nie, moenie elke keer cp cfg cfg_back skryf met verloop van tyd nie jy sal verward raak en van hierdie saak vergeet.

Hoe om per ongeluk 'n Web-GUI vir Haproxy te skryf

Baie jare gelede het ek so 'n wonderlike balanseerder soos Haproxy ontmoet. Alles is wonderlik en pragtig. Ek het baie van hulle gehad en ek het daaraan gedink om 'n GUI daarvoor te vind, maar verbasend genoeg was dit nie daar nie. Baie gewilde sagteware, buitendien, redelik oud, maar tog, ek het gedink en voortgegaan om af en toe die handvatsels in my gunsteling vi te redigeer en het 'n klomp oop oortjies met statistieke van alle aktiewe bedieners. Maar die tyd het aangebreek en ek moes die "Wishlist" bevredig van mense wat sagteware geskryf het om via http te werk, en dit is waar die interessante begin het ...

My hande het gejeuk, my oë het verlig en ek het begin. Meer presies, ek het begin dink waaroor om te skryf, om die lank vergete PHP te onthou, op een of ander manier het ek nie lus gehad nie, en dit het gelyk of dit nie heeltemal geskik was vir hierdie besigheid nie. As gevolg hiervan het die keuse op Python geval, ek het gedink dit sal beslis handig te pas kom in die toekoms, en die absorpsie van inligting het begin.

Aan die begin was die take nie so moeilik nie: die vermoë om konfigurasies vanaf die webkoppelvlak vanaf een toegangspunt te wysig, vorige weergawes van konfigurasies te stoor. Dit was moontlik om hierdie, nie baie groot funksionaliteit, redelik vinnig te implementeer nie, maar toe spring óf admin-luiheid óf die berugte perfeksionisme in my, en natuurlik het dit vir my nie genoeg gelyk nie. En toe begin sulke kenmerke verskyn soos: vergelyking van twee konfigurasies, aanteken van alle aksies wat met konfigurasies verband hou, Runtime API en die byvoeging van afdelings via die web.

Hoe om per ongeluk 'n Web-GUI vir Haproxy te skryf

En as 'n ordentlike UNIX-administrateur wat van gratis sagteware leef, het ek besluit om dit met die wêreld te deel, en iemand anders sal handig te pas kom? Maar hiervoor was dit nodig om alles te doen sodat jy nie in die kode hoef te klim nie, maar hoogstens in die config-kolke (Nou het meeste van die instellings na die databasis geskuif. Wat my betref, dit het geriefliker geword om dit te wysig en daar sal geen foute tydens die opdatering wees nie as gevolg van die gebrek aan een of ander soort konfigurasie in die konfigurasie of parameter).

'n Maand later het ek my handwerk op Github geplaas sonder om regtig op enigiets te reken. En tevergeefs, die sagteware blyk effens in aanvraag te wees, en toe begin die interessantste ding ... Aktiewe "afwerking" is al amper 'n jaar aan die gang. Soms is daar 'n begeerte om dit alles op te hou, want. My behoeftes is al lankal gedek. Wel, hoekom het ek die geleentheid nodig om 'n "cluster" met keepalived en HAProxy deur die webgesig te ontplooi, as dit my hoogstens 'n paar minute neem? En dit blyk dat mense dit nodig het, en ek stel belang, en daar is iets om te doen. Alhoewel daar natuurlik funksies is wat ek nodig het, byvoorbeeld hoe om backend-bedieners te monitor, of dit vir Haproxy beskikbaar is. Natuurlik het ons korporatiewe monitering, maar daar is mense wat nogal lank kan reageer, + want my departement ontwikkel en sagteware kom en gaan lank genoeg om deur die burokrasie te kom.

Hoe om per ongeluk 'n Web-GUI vir Haproxy te skryf

Oor die algemeen het ek besluit om te deel, want dit blyk dat dit die enigste gratis GUI is. Wat as dit vir iemand handig te pas kom? Skakel na GitHub.

Bron: will.com

Voeg 'n opmerking