So schreiben Sie versehentlich eine Web-GUI für Haproxy

Die moderne Welt der Systemadministratoren hat uns mit schönen Web-Gesichtern so faul gemacht, dass wir nicht einmal Software installieren wollen, die diesen „Typen“ nicht hat (ich habe das Gefühl, als würden gleich Steine ​​von den frommen Heftern fliegen). Nun ja, es ist doch nicht so, dass du ständig an der Grenze kletterst, oder? Alles wäre in Ordnung, wenn die Software installiert, konfiguriert und vergessen würde, aber was tun, wenn Sie ständig dorthin klettern und bearbeiten müssen und natürlich kein Protokoll aller Aktionen vorhanden ist? Schreiben Sie nicht jedes Mal cp cfg cfg_back Mit der Zeit werden Sie verwirrt sein und diese Angelegenheit vergessen.

So schreiben Sie versehentlich eine Web-GUI für Haproxy

Vor vielen Jahren entdeckte ich einen fantastischen Server-Balancer namens HAProxy. Alles war wunderbar. Ich begann, ihn ausgiebig zu nutzen und überlegte, ob ich eine grafische Benutzeroberfläche dafür finden sollte. Zu meiner Überraschung gab es aber keine. Es war eine sehr beliebte und auch schon recht alte Software, aber was soll's, dachte ich mir, und passte sie gelegentlich manuell in meinem geliebten vi an. So hatte ich immer mehrere Tabs mit Statistiken für alle aktiven Fenster geöffnet. ServerDoch dann kam der Zeitpunkt, an dem ich die „Wünsche“ derjenigen befriedigen musste, die Software für die Arbeit über HTTP schrieben, und da wurde es interessant…

Meine Hände juckten, meine Augen leuchteten und ich fing an. Genauer gesagt, ich begann darüber nachzudenken, was ich schreiben sollte, um mich an das längst vergessene PHP zu erinnern, irgendwie wollte ich es nicht und es schien, dass es für diese Angelegenheit nicht ganz geeignet war. Am Ende fiel die Wahl auf Python, es wird sich in Zukunft auf jeden Fall als nützlich erweisen, dachte ich und begann, die Informationen aufzunehmen.

Am Anfang waren die Aufgaben nicht so schwierig: die Möglichkeit, Konfigurationen über die Weboberfläche von einem Einstiegspunkt aus zu bearbeiten und dabei frühere Versionen von Konfigurationen zu speichern. Diese nicht besonders große Funktionalität wurde zwar recht schnell umgesetzt, doch dann überkam mich entweder die Faulheit des Admins oder der notorische Perfektionismus und das schien mir natürlich nicht genug. Und dann tauchten Funktionen auf wie: Vergleich zweier Konfigurationen, Protokollierung aller Aktionen im Zusammenhang mit Konfigurationen, Runtime-API und Hinzufügen von Abschnitten über das Web.

So schreiben Sie versehentlich eine Web-GUI für Haproxy

Und als anständiger UNIX-Administrator, der von freier Software lebt, habe ich beschlossen, sie mit der Welt zu teilen, und vielleicht ist sie für jemand anderen nützlich? Dafür war es aber notwendig, alles so zu machen, dass man nicht in den Code, sondern höchstens in die Config-Butts gehen musste (Jetzt sind die meisten Einstellungen in die Datenbank gewandert. Bei mir schon Dadurch wird es einfacher, sie zu bearbeiten, und es treten keine Fehler bei der Aktualisierung aufgrund des Fehlens eines oder-Parameters auf.

Einen Monat später veröffentlichte ich mein Werk ohne große Erwartungen auf Github. Aber vergebens, die Software erwies sich als leicht gefragt und dann begann der Spaß ... Seit fast einem Jahr wird aktiv „aktualisiert“. Manchmal besteht der Wunsch, alles aufzugeben, weil... Meine Bedürfnisse wurden schon lange gedeckt. Warum brauche ich die Möglichkeit, einen „Cluster“ mit Keepalived und HAProxy über das Web bereitzustellen, wenn ich dafür nur ein paar Minuten brauche? Aber es stellt sich heraus, dass die Leute es brauchen, und ich bin interessiert, und es gibt etwas zu tun. Allerdings gibt es natürlich Funktionen, die ich benötige, zum Beispiel die Überwachung von Backend-Servern und ob diese für Haproxy verfügbar sind. Wir haben natürlich eine Unternehmensüberwachung, aber es gibt dort Leute, die ziemlich lange reagieren können, + weil... Meine Abteilung ist mit der Entwicklung beschäftigt und Software erscheint und verschwindet lange genug, um durch die Bürokratie zu kommen.

So schreiben Sie versehentlich eine Web-GUI für Haproxy

Im Allgemeinen habe ich mich für das Teilen entschieden, da sich herausstellt, dass dies die einzige kostenlose GUI ist. Was ist, wenn jemand es nützlich findet? Link zu GitHub.

Source: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz und VPS-VDS-Servern 🔥 Kaufen Sie zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server | ProHoster