افتراضيا، Zevenet يعمل على إجراء فحوصات صحية بسيطة للواجهات الخلفية أو الخوادم الحقيقية ، ولكن في بعض الأحيان لا يكون هذا الفحص كافياً لتحديد ما إذا كانت تعمل الخلفية بشكل صحيح أم لا. لهذا السبب ، تنفذ Zevenet خدمة تنفذ وتدير فحوصات صحية متقدمة عبر برنامج خفي يستخدم مكونات إضافية تسمى Farmguardian.
تتمثل المهمة الرئيسية لـ Farmguardian في العمل كأداة مراقبة متقدمة للخلفيات الخلفية للتطبيقات ، ولهذا الغرض ، يقرأ Farm Guardian تكوين المزرعة ويحصل على قائمة الواجهة الخلفية ، ويساعده مكون إضافي في التحقق من الحالة الصحية للخلفية ، ويقوم Farm Guardian بتحديث الواجهة الخلفية حالة إدارة المزرعة المحددة إذا كان يجب على موازن التحميل إرسال حركة المرور إلى هذه الخلفية.
في هذا القسم ، يمكنك تكوين الاختيار Farmguardian. يمكنك رؤية علامتي تبويب العالمية و المزارع.
إعدادات العالمية
في القسم العالمي ، توجد إعدادات فحوصات صحية لفحص صحي معين لـ Farmguardian ، كما هو موضح أدناه.
لا يمكن تحرير حقول علامة التبويب هذه إذا تم تحميل الشيك مسبقًا في النظام ، وإذا كنت ترغب في تعديل هذا الاختيار ، فيجب عليك إنشاء Farmguardian جديدًا يتيح النسخة الاحتياطية وإضافة التحقق المطلوب كقالب وتعديل الجديد.
- الاسم. اسم تحديد الاختيار جارديان الحالي ، لا يمكن تحريره.
- وصف المنتج. يحتوي هذا الحقل على وصف موجز للفحص Farmguardian.
- أمر. قم بتعيين الأمر الذي تم تنفيذه من أجل التحقق من حالة الواجهة الخلفية.
- الفاصلة. الوقت بالثواني بين الفحوصات الصحية للتحقق من جميع النهايات الخلفية. لاحظ أنه في كل فاصل زمني ، سيتوقف فحص المزارع ويتم إعادة تشغيله ، لذلك يجب أن يكون مرتفعًا بما يكفي ليكون قادرًا على التحقق من كل الواجهات الخلفية (المهلة * nº backends + 1)
- قطع اتصالات. عند تمكين هذا الخيار ، يتم مسح الاتصالات الحالية للواجهة الخلفية المكتشفة ، مما يؤدي إلى إعادة الاتصال الفوري بواجهة خلفية متاحة. في حالة التعطيل ، سيتم استنزاف الاتصالات الحالية دون فصل أي عميل.
- سجلات. تمكين أو تعطيل سجلات كل checkguardian الاختيار. مع تعطيل السجلات ، تظهر تغييرات حالة الواجهة الخلفية فقط في ملفات السجل.
تكوين الشيكات الصحية
ويمكن الاطلاع على جميع الإضافات المتاحة Farmguardian تحت الدليل / البيرة / المحلية / zevenet / التطبيق / libexec / داخل موازن التحميل.
تستخدم Farm Guardian مكونات إضافية لتكوين فحوصات صحية متطورة لاكتشاف ما إذا كان خادم حقيقي معين يعمل كما هو متوقع باستخدام خيارات مخصصة. هناك الكثير من الفحوصات الصحية لكل أنواع البروتوكولات أو الخدمات أو التطبيقات. يتم وصف المكونات الإضافية الأكثر أهمية أدناه.
check_ftp: هذا البرنامج المساعد اختبارات اتصالات FTP مع المضيف المحدد.
Usage: check_ftp -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>] [-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>] [-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j] [-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]
check_fping: سيستخدم هذا المكون الإضافي الأمر fping لإجراء اختبار ping على المضيف المحدد لإجراء فحص سريع.
Usage: check_fping <host_address> -w limit -c limit [-b size] [-n number] [-T number] [-i number]
check_http: هذا البرنامج المساعد يختبر خدمة HTTP على المضيف المحدد. ويمكنه اختبار البروتوكولات (HTTP) والبروتوكول الآمن (HTTPS) ، ومتابعة عمليات إعادة التوجيه ، والبحث عن السلاسل والتعبيرات العادية ، والتحقق من أوقات الاتصال ، والإبلاغ عن أوقات انتهاء صلاحية الشهادة ، ورموز إرجاع HTTP ، إلخ.
Usage: check_http -H <vhost> | -I <IP-address> [-u <uri>] [-p <port>] [-J <client certificate file>] [-K <private key>] [-w <warn time>] [-c <critical time>] [-t <timeout>] [-L] [-E] [-a auth] [-b proxy_auth] [-f <ok|warning|critcal|follow|sticky|stickyport>] [-e <expect>] [-d string] [-s string] [-l] [-r <regex> | -R <case-insensitive regex>] [-P string] [-m <min_pg_size>:<max_pg_size>] [-4|-6] [-N] [-M <age>] [-A string] [-k string] [-S <version>] [--sni] [-C <warn_age>[,<crit_age>]] [-T <content-type>] [-j method]
check_imap: هذا البرنامج المساعد يختبر اتصالات IMAP مع المضيف المحدد.
Usage: check_imap -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>] [-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>] [-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j] [-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]
check_ldap: هذا البرنامج المساعد يختبر خدمات LDAP. ويمكن اختباره مع بحث معين.
Usage: check_ldap -H <host> -b <base_dn> [-p <port>] [-a <attr>] [-D <binddn>] [-P <password>] [-w <warn_time>] [-c <crit_time>] [-t timeout] [-2|-3] [-4|-6]
check_ldaps: هذا البرنامج المساعد يختبر خدمات LDAPS. ويمكن اختباره مع بحث معين.
Usage: check_ldaps -H <host> -b <base_dn> [-p <port>] [-a <attr>] [-D <binddn>] [-P <password>] [-w <warn_time>] [-c <crit_time>] [-t timeout] [-2|-3] [-4|-6]
check_mysql: هذا البرنامج المساعد يختبر اتصالات إلى خادم MySQL.
Usage: check_mysql [-d database] [-H host] [-P port] [-s socket] [-u user] [-p password] [-S] [-l] [-a cert] [-k key] [-C ca-cert] [-D ca-dir] [-L ciphers] [-f optfile] [-g group]
check_mysql_query: هذا البرنامج المساعد يتحقق نتيجة استعلام ضد مستويات العتبة.
Usage: check_mysql_query -q SQL_query [-w warn] [-c crit] [-H host] [-P port] [-s socket] [-d database] [-u user] [-p password] [-f optfile] [-g group]
check_pgsql: اختبار ما إذا كانت قاعدة بيانات PostgreSQL تقبل الاتصالات.
Usage: check_pgsql [-H <host>] [-P <port>] [-c <critical time>] [-w <warning time>] [-t <timeout>] [-d <database>] [-l <logname>] [-p <password>] [-q <query>] [-C <critical query range>] [-W <warning query range>]
check_pop: هذا البرنامج المساعد يختبر اتصالات POP مع المضيف المحدد.
Usage: check_pop -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>] [-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>] [-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j] [-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]
check_radius: الاختبارات لمعرفة ما إذا كان خادم RADIUS يقبل الاتصالات.
Usage: check_radius -H host -F config_file -u username -p password [-P port] [-t timeout] [-r retries] [-e expect] [-n nas-id] [-N nas-ip-addr]
check_simap: يختبر هذا المكون الإضافي اتصالات IMAP الآمنة مع المضيف المحدد.
Usage: check_simap -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>] [-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>] [-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j] [-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]
check_smtp: سيحاول هذا المكون الإضافي فتح اتصال SMTP بالمضيف.
Usage: check_smtp -H host [-p port] [-4|-6] [-e expect] [-C command] [-R response] [-f from addr] [-A authtype -U authuser -P authpass] [-w warn] [-c crit] [-t timeout] [-q] [-F fqdn] [-S] [-D warn days cert expire[,crit days cert expire]] [-v]
check_snmp: تحقق من حالة الأجهزة عن بعد والحصول على معلومات النظام عبر SNMP.
Usage: check_snmp -H <ip_address> -o <OID> [-w warn_range] [-c crit_range] [-C community] [-s string] [-r regex] [-R regexi] [-t timeout] [-e retries] [-l label] [-u units] [-p port-number] [-d delimiter] [-D output-delimiter] [-m miblist] [-P snmp version] [-N context] [-L seclevel] [-U secname] [-a authproto] [-A authpasswd] [-x privproto] [-X privpasswd] [-4|6]
check_spop: يختبر هذا المكون الإضافي اتصالات POP آمنة مع المضيف المحدد.
Usage: check_spop -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>] [-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>] [-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j] [-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]
check_ssh: حاول الاتصال بخادم SSH في الخادم والمنفذ المحددين.
Usage: check_ssh [-4|-6] [-t <timeout>] [-r <remote version>] [-p <port>] <host>
check_ssmtp: هذا البرنامج المساعد يختبر اتصالات SSMTP مع المضيف المحدد.
Usage: check_ssmtp -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>] [-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>] [-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j] [-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]
check_tcp: هذا البرنامج المساعد يختبر اتصالات TCP مع المضيف المحدد.
Usage: check_tcp -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>] [-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>] [-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j] [-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]
لمزيد من المعلومات ، قم بتنفيذ الأمر التالي تحت مسار الإضافات:
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
ثابت
عندما ينفذ Farmguardian مكونًا إضافيًا ، يمكنه استخدام بعض الثوابت أو الرموز المميزة كوسائط ، مثل:
- HOST: سوف Farmguardian رعاية تعديل هذا الثابت عن طريق عنوان IP الخادم الحقيقي.
- PORT: سوف Farmguardian رعاية تعديل هذا الثابت عن طريق منفذ الخادم الحقيقي.
يمكن استخدام هذه الثوابت لكل مكون إضافي ، وسيستخدمها Farmguardian لتشغيل الفحص الصحي باستخدام المعلمات الحقيقية في المكان.
المزارع
في علامة التبويب هذه ، هناك قائمة بالمزارع والخدمات التي تستخدم هذا الفحص الصحي Farmguardian.
يمكن تعيين المزارع والخدمات أو إزالتها من هذا الفحص الصحي الخاص بـ Farmguardian باستخدام اختيارات متعددة برموز سهم مفردة أو أسهم مزدوجة لتمكين أو تعطيل جميع المزارع.