كيفية كتابة Web-GUI لـ Haproxy عن طريق الخطأ

لقد جعلنا العالم الحديث لمديري النظام كسالى مع وجوه الويب الجميلة ، حتى أنها ليست رغبة في تثبيت برنامج حيث لا يوجد هذا "الرجل" ذاته (أشعر الآن أن الحجارة ستطير من الخربشة التقليدية) ، حسنًا ، إنها ليست كذلك دائما يتسلق هناك عبر الخط ، أليس كذلك؟ سيكون كل شيء على ما يرام إذا تم تثبيت البرنامج وتهيئته ونسيانه ، ولكن ماذا تفعل إذا كنت بحاجة إلى الصعود باستمرار إلى هناك ، والتحرير ، وبالطبع لا يوجد سجل لجميع الإجراءات ، لا تكتب cp cfg cfg_back في كل مرة ، بمرور الوقت سوف تشعر بالحيرة وتنسى هذا الأمر.

كيفية كتابة Web-GUI لـ Haproxy عن طريق الخطأ

قبل سنوات عديدة قابلت موازنًا رائعًا مثل Haproxy. كل شيء رائع وجميل. كان لدي الكثير منهم وفكرت في العثور على واجهة مستخدم رسومية لها ، ولكن من المدهش أنها لم تكن موجودة. برنامج مشهور جدًا ، إلى جانب أنه قديم جدًا ، ولكن حسنًا ، فكرت واستمرت أحيانًا في تحرير المقابض في vi المفضل ولدي مجموعة من علامات التبويب المفتوحة مع إحصائيات جميع الخوادم النشطة. لكن الوقت قد حان وكان علي تلبية "قائمة الرغبات" للأشخاص الذين كتبوا برامج للعمل عبر http ، وهنا بدأ الاهتمام ...

حكة يدي ، وأضاءت عيني وبدأت. بتعبير أدق ، بدأت أفكر فيما أكتب عليه ، لتذكر لغة PHP المنسية منذ فترة طويلة ، بطريقة ما لم أشعر بها ، ويبدو أنها لم تكن مناسبة تمامًا لهذا العمل. نتيجة لذلك ، وقع الاختيار على Python ، اعتقدت أنه سيكون بالتأكيد مفيدًا في المستقبل ، وبدأ استيعاب المعلومات.

في البداية ، لم تكن المهام صعبة للغاية: القدرة على تحرير التكوينات من واجهة الويب من نقطة دخول واحدة ، وحفظ الإصدارات السابقة من التكوينات. كان من الممكن تنفيذ هذه الوظيفة ، ليست كبيرة جدًا بسرعة كبيرة ، ولكن بعد ذلك قفز في داخلي إما كسل إداري أو كمالية سيئة السمعة ، وبالطبع بدا لي هذا غير كافٍ. ثم بدأت هذه الميزات في الظهور على النحو التالي: مقارنة اثنين من التكوينات ، وتسجيل جميع الإجراءات المتعلقة بالتكوينات ، و Runtime API وإضافة أقسام عبر الويب.

كيفية كتابة Web-GUI لـ Haproxy عن طريق الخطأ

وباعتباري مسؤول UNIX لائقًا يعيش على البرمجيات الحرة ، فقد قررت مشاركتها مع العالم ، وسيكون هناك شخص آخر في متناول يدي؟ ولكن لهذا كان من الضروري القيام بكل شيء حتى لا تضطر إلى التسلق إلى الكود ، ولكن على الأكثر في أعقاب التكوين (الآن تم نقل معظم الإعدادات إلى قاعدة البيانات. بالنسبة لي ، أصبح الأمر أكثر ملاءمة لتحريرها ولن تكون هناك أخطاء أثناء التحديث بسبب عدم وجود نوع من التكوين في التكوين أو المعلمة).

بعد شهر ، قمت بنشر حرفتي على Github دون الاعتماد على أي شيء. وعبثًا ، تبين أن الطلب على البرنامج قليل ، ثم بدأ الشيء الأكثر إثارة للاهتمام ... استمر "التشطيب" النشط لمدة عام تقريبًا. في بعض الأحيان تكون هناك رغبة في الإقلاع عن كل هذا ، لأن. تمت تغطية احتياجاتي لفترة طويلة. حسنًا ، لماذا أحتاج إلى فرصة لنشر "مجموعة" مع Keepalived و HAProxy عبر وجه الويب ، إذا استغرق الأمر بضع دقائق على الأكثر؟ واتضح أن الناس في حاجة إليها ، وأنا مهتم ، وهناك شيء يجب القيام به. على الرغم من وجود وظائف أحتاجها ، على سبيل المثال ، كيفية مراقبة خوادم الواجهة الخلفية ، سواء كانت متوفرة لـ Haproxy. بالطبع ، لدينا مراقبة للشركات ، ولكن هناك أشخاص يمكنهم الرد لفترة طويلة جدًا ، + لأن يتم تطوير إدارتي والبرنامج يأتي ويذهب لفترة طويلة بما يكفي لتجاوز البيروقراطية.

كيفية كتابة Web-GUI لـ Haproxy عن طريق الخطأ

بشكل عام ، قررت المشاركة ، لأنه اتضح أن هذه هي واجهة المستخدم الرسومية المجانية الوحيدة. ماذا لو كان مفيدًا لشخص ما؟ رابط إلى جيثب.

المصدر: www.habr.com

إضافة تعليق