LSLB | مزارع | تحديث | مزرعة الجارديان

نُشرت في 2 يناير 2018

نبذة

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

وتتمثل المهمة الرئيسية لـ Farm Guardian في العمل كمراقبة متقدمة للتطبيقات ، لهذا ، يقرأ Farm Guardian تكوين المزرعة ويحصل على القائمة الخلفية ، ويساعده المكون الإضافي على التحقق من الحالة الصحية الخلفية ، يقوم Farm Guardian بتحديث حالة الواجهة الخلفية لـ مزرعة معينة تسمح أو لا تسمح لـ Zen Load Balancer بإرسال اتصالات على هذه الخلفية.

يمكن العثور على المكونات الإضافية المستخدمة بواسطة Farm Guardian تحت الدليل / البيرة / المحلية / zenloadbalancer / التطبيق / libexec / .

تكوين مزرعة الغارديان

الشيكات الصحية للوظيفه. سيؤدي تحديد هذا المربع إلى تمكين حالة مراقبة أكثر تقدمًا للوصلات الخلفية وقابلة للبرمجة تمامًا مع النصوص البرمجية الخاصة بك. عندما يتم اكتشاف سلوك خاطئ من قِبل Farm Guardian ، فإنه يعطل تلقائيًا الخادم الحقيقي وسيتم وضع علامة عليه ك FGdown. هذه خدمة مستقلة لذا لا تحتاج إلى إعادة تشغيل خدمة المزرعة.

الوقت بين الشيكات. هذا هو عدد الثواني التي ينتظرها Farm Guardian لتنفيذ الفحص الصحي.
القيادة للتحقق. القيادة ليتم تنفيذها ضد backend تكوينه. يتم استخدام الثوابت أو الرموز من أجل توفير التكوين الديناميكي.
سجلات مزرعة الجارديان. سيمكِّن مربع الاختيار هذا سجلات Farm Guardian من تصحيح بعض السلوك ، على الرغم من أنه قد يستهلك الكثير من السعة التخزينية.

الإضافات

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

check_ftp: هذا البرنامج المساعد اختبارات اتصالات FTP مع المضيف المحدد.
check_fping: سيستخدم هذا المكون الإضافي الأمر fping لإجراء اختبار ping على المضيف المحدد لإجراء فحص سريع.
check_http: هذا البرنامج المساعد يختبر خدمة HTTP على المضيف المحدد. ويمكنه اختبار البروتوكولات (HTTP) والبروتوكول الآمن (HTTPS) ، ومتابعة عمليات إعادة التوجيه ، والبحث عن السلاسل والتعبيرات العادية ، والتحقق من أوقات الاتصال ، والإبلاغ عن أوقات انتهاء صلاحية الشهادة ، ورموز إرجاع HTTP ، إلخ.
check_imap: هذا البرنامج المساعد يختبر اتصالات IMAP مع المضيف المحدد.
check_ldap: هذا البرنامج المساعد يختبر خدمات LDAP. ويمكن اختباره مع بحث معين.
check_ldaps: هذا البرنامج المساعد يختبر خدمات LDAPS. ويمكن اختباره مع بحث معين.
check_mysql: هذا البرنامج المساعد يختبر اتصالات إلى خادم MySQL.
check_mysql_query: هذا البرنامج المساعد يتحقق نتيجة استعلام ضد مستويات العتبة.
check_pgsql: اختبار ما إذا كانت قاعدة بيانات PostgreSQL تقبل الاتصالات.
check_pop: هذا البرنامج المساعد يختبر اتصالات POP مع المضيف المحدد.
check_radius: الاختبارات لمعرفة ما إذا كان خادم RADIUS يقبل الاتصالات.
check_simap: يختبر هذا المكون الإضافي اتصالات IMAP آمنة مع المضيف المحدد
check_smtp: سيحاول هذا المكون الإضافي فتح اتصال SMTP بالمضيف.
check_snmp: تحقق من حالة الأجهزة عن بعد والحصول على معلومات النظام عبر SNMP.
check_spop: يختبر هذا المكون الإضافي اتصالات POP آمنة مع المضيف المحدد.
check_ssh: حاول الاتصال بخادم SSH في الخادم والمنفذ المحددين.
check_ssmtp: هذا البرنامج المساعد يختبر اتصالات SSMTP مع المضيف المحدد.
check_tcp: هذا البرنامج المساعد يختبر اتصالات TCP مع المضيف المحدد.

لمزيد من المعلومات ، قم بتنفيذ الأمر التالي تحت مسار الإضافات:

plugin_name --help

ستستخدم Farm Guardian هذه المكونات الإضافية للتحقق من الحالة الصحية للملفات الخلفية وستقوم بإدارة مخرجات الخطأ في التنفيذ للمكوِّن الإضافي الذي تم تنفيذه لتقرير حالة الواجهة الخلفية كما يلي:

إذا كان الخطأ الإخراج == 0 ثم الخلفية على ما يرام> $؟ = 0

إذا كان الخطأ الإخراج <> 0 ثم الخلفية ليست على ما يرام> $؟ <> 0

مكوّن مخصص

يمكن تكوين هذه الملحقات وقابلة للبرمجة بالكامل من قبل sysadmins من أجل تكييفها مع أي بروتوكول أو تطبيق.

يوضح هذا المثال مكونًا مخصصًا check_load.sh.

#!/bin/bash
###
###comments:
###snmp utils should be installed
###snmpd should be installed and configured in the backends
###
MAXVALUE=4
COMMUNITY="public"
EXECUTE=`snmpget -v 2c -c $COMMUNITY $1 .1.3.6.1.4.1.2021.10.1.3.1 |cut -d ':' -f2 | cut -d '.' -f1 | sed s/\ // | sed s/\"//`

echo "SNMP CPU load check for $1 is $EXECUTE"
# If the result is true, exit with 1; error; else exit = 0; OK
if (( $EXECUTE >= $MAXVALUE )); then
#error output; the server is overloaded and the load balancer isn’t going to send more connections
exit 1
else
#not error; the server can accept more connections
exit 0
fi

ثابت

عند تنفيذ Farm Guardian للمكوّن الإضافي ، يمكنه استخدام بعض الثوابت أو الرموز المميزة كحجج ، مثل:

  • HOST: سيعتني Farm Guardian بتعديل هذا الثابت بواسطة عنوان IP للخادم الحقيقي.
  • PORT: سيعتني Farm Guardian بتعديل هذا الثابت بمنفذ الخادم الحقيقي.

يمكن استخدام هذه الثوابت لكل مكون إضافي ، ستستخدمها Farm Guardian لتشغيل الفحص الصحي مع المعلمات الحقيقية في المكان.

مثال

يوضح المثال التالي فحصًا متطورًا للصحة HTTP لخدمات الويب. يتمثل الخطأ الشائع في أن خوادم التطبيقات تعرض الصفحات الفارغة لكن منفذ 8080 لا يزال يقبل طلبات HTTP.

بالنسبة لمزرعة HTTP ، يرجى تكوين الفئة التالية في قسم Farm Guardian من كل خدمة:

check_http_fg_example

مزرعة الجارديان ستنفذ check_http البرنامج المساعد لكل الخلفية وستحل محل الثوابت HOST و PORT بواسطة عنوان IP والمنفذ لكل backend ، لكل عملية تنفيذ ، سيقوم الملحق المحدد بإرجاع رمز الخطأ 0 إذا تم العثور على سلسلة 'Welcome' في محتوى index.php. في حالة عدم العثور على سلسلة "الترحيب" ، سيتم وضع علامة على هذه الواجهة الخلفية أسفلها.

يمكن تمكين سجلات Farm Guardian على الرغم من أنه قد يستهلك الكثير من مساحة القرص ويقوم بحفظ السجلات في المسار /usr/local/zenloadbalancer/config/[_service]_farmguardian.log or / فار / سجل / سيسلوغ في إصدارات Zevenet الأحدث.

مشاركة مع :

وثائق بموجب شروط رخصة جنو للوثائق الحرة.

هل كان المقال مساعدا؟!

مقالات ذات صلة