Kā nejauši uzrakstīt tīmekļa GUI priekš Haproxy

Mūsdienu sistēmu administratoru pasaule ir padarījusi mūs tik slinkus ar skaistām tīmekļa sejām, ka mēs pat nevēlamies instalēt programmatūru, kurā nav šis "puisis" (man šķiet, ka no dievbijīgajiem šuvējiem tūlīt lidos akmeņi) , labi, nav jau tā, ka tu nemitīgi kāp pa līniju, vai ne? Viss būtu labi, ja programmatūra būtu uzinstalēta, konfigurēta un aizmirsta, bet ko darīt, ja vajag nemitīgi tur kāpt, rediģēt, un protams nav visu darbību žurnāls, nerakstiet katru reizi cp cfg cfg_back, pāri laikam tu apjuksi un aizmirsi par šo lietu .

Kā nejauši uzrakstīt tīmekļa GUI priekš Haproxy

Pirms daudziem gadiem es satiku tik brīnišķīgu balansētāju kā Haproxy. Viss ir brīnišķīgi un skaisti. Man to bija daudz, un es domāju meklēt tam GUI, taču pārsteidzošā kārtā tādas nebija. Ļoti populāra programmatūra un arī diezgan veca, bet, labi, es domāju un turpināju laiku pa laikam rediģēt pildspalvas savā iecienītākajā vi, un man bija virkne atvērtu cilņu ar visu aktīvo serveru statistiku. Bet pienāca laiks, un man bija jāapmierina to cilvēku “vēlmes”, kuri rakstīja programmatūru, lai strādātu, izmantojot http, un šeit lietas kļuva interesantas…

Man niezēja rokas, acis iedegās un es sāku. Precīzāk, sāku domāt, ko rakstīt, atcerēties sen aizmirsto PHP, kaut kā negribējās, un likās, ka tas nav īsti piemērots šim jautājumam. Beigās izvēle krita uz Python, tas noteikti noderēs nākotnē, nodomāju un sāku uzņemt informāciju.

Sākumā uzdevumi nebija tik sarežģīti: iespēja rediģēt konfigurācijas no tīmekļa saskarnes no viena ieejas punkta, saglabājot iepriekšējās konfigurāciju versijas. Šī ne īpaši lielā funkcionalitāte tika ieviesta diezgan ātri, bet tad mani pārņēma vai nu administratora slinkums, vai bēdīgi slavenais perfekcionisms, un, protams, ar to man šķita par maz. Un tad sāka parādīties tādas funkcijas kā: divu konfigurāciju salīdzināšana, visu ar konfigurācijām saistīto darbību reģistrēšana, Runtime API un sadaļu pievienošana caur tīmekli.

Kā nejauši uzrakstīt tīmekļa GUI priekš Haproxy

Un kā kārtīgs UNIX administrators, kurš dzīvo no bezmaksas programmatūras, es nolēmu ar to padalīties ar visu pasauli, un varbūt tas noderēs kādam citam? Bet šim bija jādara viss tā, lai nebūtu jāiedziļinās kodā, bet maksimāli konfigurācijas butiņos (tagad lielākā daļa iestatījumu ir pārcēlušies uz datu bāzi. Kas attiecas uz mani, tad ir kļūst ērtāk tos rediģēt, un atjaunināšanas laikā nebūs kļūdu jebkura vai parametra trūkuma dēļ).

Mēnesi vēlāk es ievietoju savu darbu Github bez lielām cerībām. Taču velti programmatūra izrādījās nedaudz pieprasīta un tad sākās jautrība... Aktīva “atjaunināšana” notiek jau gandrīz gadu. Dažkārt ir vēlme no tā visa atteikties, jo... manas vajadzības ir apmierinātas jau ilgu laiku. Kāpēc man ir vajadzīga iespēja tīmeklī izvietot “klasteri” ar Keepalived un HAProxy, ja tas aizņem tikai dažas minūtes? Bet izrādās, ka cilvēkiem tas ir vajadzīgs, un es esmu ieinteresēts, un ir ko darīt. Lai gan, protams, ir funkcijas, kas man ir vajadzīgas, piemēram, uzraudzīt aizmugursistēmas serverus un vai tie ir pieejami Haproxy. Mums, protams, ir korporatīvā uzraudzība, bet tur ir cilvēki, kas var diezgan ilgi reaģēt, + jo... Mana nodaļa nodarbojas ar izstrādi, un programmatūra parādās un pazūd pietiekami ilgi, lai tiktu cauri birokrātijai.

Kā nejauši uzrakstīt tīmekļa GUI priekš Haproxy

Kopumā nolēmu padalīties, jo izrādās, ka šī ir vienīgā bezmaksas GUI. Ko darīt, ja kādam tas šķiet noderīgs? Saite uz GitHub.

Avots: www.habr.com

Pievieno komentāru