Πώς να γράψετε κατά λάθος ένα Web-GUI για το Haproxy

Ο σύγχρονος κόσμος των διαχειριστών συστημάτων μάς έχει κάνει τόσο τεμπέληδες με όμορφα web-face που δεν θέλουμε καν να εγκαταστήσουμε λογισμικό που δεν έχει αυτόν τον πολύ «τύπο» (αισθάνομαι ότι πρόκειται να πετάξουν πέτρες από τα ευσεβή βελονάκια) , καλά, δεν είναι σαν να σκαρφαλώνεις συνεχώς μέσα από τη γραμμή, σωστά; Όλα θα ήταν εντάξει εάν το λογισμικό είχε εγκατασταθεί, ρυθμιστεί και ξεχαστεί, αλλά τι να κάνετε εάν χρειάζεται να ανεβαίνετε συνεχώς εκεί, να επεξεργάζεστε και φυσικά δεν υπάρχει αρχείο καταγραφής όλων των ενεργειών, μην γράφετε cp cfg cfg_back κάθε φορά, πάνω καιρό θα μπερδευτείτε και θα ξεχάσετε αυτό το θέμα.

Πώς να γράψετε κατά λάθος ένα Web-GUI για το Haproxy

Πριν από πολλά χρόνια γνώρισα έναν τόσο υπέροχο ισορροπιστή όπως το Haproxy. Όλα είναι υπέροχα και όμορφα. Είχα πολλά από αυτά και σκέφτηκα να ψάξω για ένα GUI για αυτό, αλλά παραδόξως δεν υπήρχε. Ένα πολύ δημοφιλές λογισμικό, και επίσης αρκετά παλιό, αλλά ω, καλά, σκέφτηκα και συνέχισα περιστασιακά να επεξεργάζομαι τα στυλό στο αγαπημένο μου vi και να έχω ένα σωρό ανοιχτές καρτέλες με στατιστικά στοιχεία όλων των ενεργών διακομιστών. Αλλά ήρθε η ώρα και έπρεπε να ικανοποιήσω τα «θέλω» των ανθρώπων που έγραφαν λογισμικό για να δουλέψουν μέσω http, και εκεί τα πράγματα έγιναν ενδιαφέροντα…

Τα χέρια μου φαγούρασαν, τα μάτια μου φωτίστηκαν και ξεκίνησα. Πιο συγκεκριμένα, άρχισα να σκέφτομαι τι να γράψω, να θυμηθώ την ξεχασμένη από καιρό PHP, κατά κάποιο τρόπο δεν ήθελα και φαινόταν ότι δεν ήταν απολύτως κατάλληλο για αυτό το θέμα. Τελικά, η επιλογή έπεσε στην Python, σίγουρα θα είναι χρήσιμη στο μέλλον, σκέφτηκα και άρχισα να απορροφώ τις πληροφορίες.

Στην αρχή, οι εργασίες δεν ήταν τόσο δύσκολες: η δυνατότητα επεξεργασίας ρυθμίσεων από τη διεπαφή ιστού από ένα σημείο εισόδου, αποθήκευση προηγούμενων εκδόσεων ρυθμίσεων. Αυτή η όχι ιδιαίτερα μεγάλη λειτουργικότητα εφαρμόστηκε αρκετά γρήγορα, αλλά στη συνέχεια με κυρίευσαν είτε η τεμπελιά του διαχειριστή είτε η περιβόητη τελειομανία και φυσικά αυτό δεν μου φάνηκε αρκετό. Και τότε άρχισαν να εμφανίζονται τέτοια χαρακτηριστικά όπως: σύγκριση δύο παραμέτρων, καταγραφή όλων των ενεργειών που σχετίζονται με διαμορφώσεις, Runtime API και προσθήκη ενοτήτων μέσω του ιστού.

Πώς να γράψετε κατά λάθος ένα Web-GUI για το Haproxy

Και ως αξιοπρεπής διαχειριστής UNIX που ζει από το ελεύθερο λογισμικό, αποφάσισα να το μοιραστώ με τον κόσμο και ίσως θα είναι χρήσιμο σε κάποιον άλλο; Αλλά για αυτό ήταν απαραίτητο να κάνετε τα πάντα με τέτοιο τρόπο ώστε να μην χρειάζεται να μπείτε στον κώδικα, αλλά το πολύ στα κουμπιά διαμόρφωσης (Τώρα οι περισσότερες ρυθμίσεις έχουν μεταφερθεί στη βάση δεδομένων. Όσο για μένα, έχει γίνεται πιο βολικό να τα επεξεργαστείτε και δεν θα υπάρχουν σφάλματα κατά την ενημέρωση λόγω έλλειψης κάποιας ή παραμέτρου).

Ένα μήνα αργότερα, δημοσίευσα τη χειροτεχνία μου στο Github χωρίς πολλές προσδοκίες. Αλλά μάταια, το λογισμικό αποδείχθηκε ότι ήταν ελαφρώς περιζήτητο και μετά άρχισε η διασκέδαση... Η ενεργή «ενημέρωση» συνεχίζεται εδώ και σχεδόν ένα χρόνο. Μερικές φορές υπάρχει η επιθυμία να τα παρατήσεις όλα, γιατί... οι ανάγκες μου έχουν καλυφθεί εδώ και πολύ καιρό. Λοιπόν, γιατί χρειάζομαι την ευκαιρία να αναπτύξω ένα "cluster" με keepalived και HAProxy μέσω του ιστού, αν μου παίρνει μόνο μερικά λεπτά; Αλλά αποδεικνύεται ότι οι άνθρωποι το χρειάζονται, και με ενδιαφέρει, και υπάρχει κάτι να κάνω. Αν και, φυσικά, υπάρχουν λειτουργίες που χρειάζομαι, για παράδειγμα, την παρακολούθηση διακομιστών υποστήριξης και εάν είναι διαθέσιμοι για το Haproxy. Φυσικά, έχουμε εταιρική παρακολούθηση, αλλά υπάρχουν άνθρωποι εκεί που μπορούν να αντιδράσουν για αρκετό καιρό, + επειδή... Το τμήμα μου ασχολείται με την ανάπτυξη και το λογισμικό εμφανίζεται και εξαφανίζεται αρκετό καιρό για να ξεπεράσει τη γραφειοκρατία.

Πώς να γράψετε κατά λάθος ένα Web-GUI για το Haproxy

Σε γενικές γραμμές, αποφάσισα να μοιραστώ, γιατί αποδεικνύεται ότι αυτό είναι το μόνο δωρεάν GUI. Τι γίνεται αν κάποιος το βρει χρήσιμο; Σύνδεσμος στο GitHub.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο