Cara tidak sengaja menulis Web-GUI untuk Haproxy

Dunia modern para administrator sistem telah membuat kami bermuka masam dengan wajah-wajah web yang indah yang mereka bahkan tidak ingin menginstal perangkat lunak di mana tidak ada "orang" ini (saya merasa bahwa batu akan terbang dari susunan ortodoks), yah, tidak mungkin untuk naik ke sana melalui jalur, kan? Semuanya akan baik-baik saja jika saya menginstal, mengkonfigurasi, dan lupa apa yang harus dilakukan, jika Anda harus terus mendaki, mengedit, dan tentu saja tidak ada log dari semua tindakan, jangan menulis cp cfg cfg_back setiap kali, Anda akan bingung dari waktu ke waktu dan melupakannya .



Bertahun-tahun yang lalu saya bertemu penyeimbang yang luar biasa seperti Haproxy. Semuanya indah dan indah. Saya mendapatkan banyak dari mereka dan saya berpikir tentang mencari GUI untuk itu, tetapi ternyata tidak. Perangkat lunak yang sangat populer, selain cukup lama, tapi oh well, saya berpikir dan terus mengedit pena di vi favorit saya dan memiliki banyak tab terbuka dengan statistik semua server yang aktif. Tetapi waktunya telah tiba dan saya harus memuaskan "Wishlist" dari orang-orang yang menulis perangkat lunak untuk bekerja melalui http, dan di sini hal yang menarik dimulai ...

Pena disisir, mata menyala dan aku mulai. Saya mulai berpikir lebih tepat untuk menulis apa, untuk mengingat PHP yang sudah lama terlupakan, saya entah bagaimana tidak mau, dan sepertinya itu tidak sepenuhnya cocok untuk masalah ini. Akibatnya, pilihan jatuh pada Python, di masa depan saya pikir itu akan berguna, dan saya mulai menyerap informasi.

Pada awal tugas tidak begitu rumit: kemampuan untuk mengedit konfigurasi dari antarmuka web dari satu titik masuk, menyimpan versi konfigurasi sebelumnya. Ternyata mungkin untuk mengimplementasikan fungsi yang tidak terlalu besar ini dengan cukup cepat, tetapi kemudian kemalasan admin atau perfeksionisme yang terkenal melompat ke dalam diri saya dan tampaknya bagi saya tentu saja tidak cukup. Dan di sini fitur-fitur tersebut mulai muncul sebagai: membandingkan dua konfigurasi, mencatat semua tindakan yang terkait dengan konfigurasi, API Runtime dan menambahkan bagian melalui web.



Dan sebagai administrator UNIX yang layak hidup dengan mengorbankan perangkat lunak gratis, saya memutuskan untuk berbagi dengan dunia, dan berguna bagi orang lain? Tapi untuk ini perlu dilakukan semuanya sehingga tidak perlu naik ke kode, tetapi maksimal dalam konfigurasi pantat (Sekarang sebagian besar pengaturan telah pindah ke database. Bagi saya itu menjadi lebih mudah untuk mengeditnya dan tidak akan ada kesalahan saat memperbarui karena kurangnya atau parameter).

Sebulan kemudian, saya memposting kerajinan saya di Github, terutama tidak mengandalkan apa pun. Tetapi sia-sia, perangkat lunak itu ternyata sedikit diminati, dan di sini kesenangan dimulai ... "dopilka" yang aktif telah berlangsung selama hampir setahun. Terkadang ada keinginan untuk berhenti dari semua ini, karena kebutuhan saya diblokir untuk waktu yang lama. Nah, mengapa saya perlu kesempatan untuk menggunakan "cluster" dengan keepalived dan HAProxy melalui web, jika saya butuh beberapa menit? Dan orang-orang merasa perlu, dan saya ingin tahu, dan ada sesuatu yang harus dilakukan. Meskipun tentu saja ada beberapa fungsi yang saya butuhkan, misalnya, memantau server backend, apakah tersedia untuk Haproxy. Tentu saja, kami memiliki pemantauan perusahaan, tetapi ada orang yang dapat bereaksi untuk waktu yang lama, + karena Departemen saya terlibat dalam pengembangan dan perangkat lunak muncul atau hilang untuk waktu yang lama untuk menerobos birokrasi.



Secara umum, saya memutuskan untuk berbagi, karena ternyata ini adalah satu-satunya GUI gratis. Bagaimana jika seseorang berguna? Tautan ke GitHub .

Source: https://habr.com/ru/post/id419865/


All Articles