כברירת מחדל, זאבנט פועל בדיקות בריאות פשוטות על backends או שרתים אמיתיים בחוות HTTP, אבל לפעמים בדיקה זו אינה מספיקה כדי לקבוע כי backenders פועלים כראוי. מסיבה זו, זבנט מיישמת שירות שמבצע ומנהל בדיקות בריאות מתקדמות באמצעות דמון המשתמש בתוספים הנקראים שומר החווה.
המשימה העיקרית של Farm Guardian היא לעבוד ככלי ניטור מתקדם עבור יישומים, עבור זה, משק חקלאי קורא את תצורת החווה ומקבל את רשימת backend, ועזר על ידי תוסף בודק את מצב הבריאות backend, Farm Guardian עדכונים מעמד backend עבור את החווה נתון המאפשר או לא לאפשר את איזון עומס לשלוח תנועה backend כזה.
מתוך סעיף זה, באפשרותך להגדיר את בדיקת ה- Farmguardian. ניתן לראות שני מקטע גלוֹבָּלִי ו חוות.
הגדרות כלליות
בחלק הכללי ישנן הגדרות בדיקת הבריאות של בדיקת בריאות מסוימת של Farmguardian, כפי שמוצג להלן.
שדות של סעיף זה לא ניתן לעריכה אם ההמחאה מוגדר מראש במערכת, אם אתה רוצה לשנות את ההמחאה, עליך ליצור בדיקה חדשה Farmguardian הוספת פרמטר להעתיק עם שם הסימון הרצוי ולשנות את החדש.
- שם. שם הזיהוי של בדיקת החווה הנוכחית.
- תיאור. שדה זה מכיל תיאור על ההמחאה.
- פיקוד. בדוק פקודות ופרמטרים להתבצע על בסיס קבוע נגד כל backend.
- הפסקה. זמן בשניות בין קבוצות לבדוק בריאות נגד כל backenders.
- גזור חיבורים. כאשר אפשרות זו מופעלת, החיבורים הנוכחיים של ה- backend המצוין הם סמוקים, ומאלצים התחברות מיידית מיידית לגיבוי זמין. אם מושבתת, החיבורים הנוכחיים ינוקזו מבלי לנתק משתמשים.
- יומנים. מפעיל או משבית את היומנים של כל בדיקה רפואית של גארדיאן משק. כאשר יומנים מושבתים רק שינויים במצב backend מוצגים בקובצי היומן.
הגדר בדיקות בריאות
התוספים משומשים על ידי החווה גארדיאן ניתן למצוא תחת המדריך / usr / lib / nagios / plugins /.
Farm Guardian משתמש plugins כדי להגדיר בדיקות בריאות מתקדמות כדי לזהות אם שרת אמיתי מסוים עובד כצפוי באמצעות אפשרויות מותאמות אישית. יש הרבה בדיקות בריאות עבור כל סוג של פרוטוקול, שירות או יישום. התוספים החשובים ביותר מתוארים להלן.
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 ישתמש אלה plugins כדי לבדוק את מצב הבריאות של backends ו ינהל את הפלט שגיאה ביצוע של תוסף להורג על קביעת מעמד backend כדלקמן:
אם השגיאה פלט == 0 ואז ה- backend הוא בסדר> $? = 0
אם השגיאה פלט <> 0 ואז ה- backend אינו בסדר> $? <> 0
תוסף מותאם אישית
Plugins אלה יכולים להיות מוגדרת ו programmable באופן מלא על ידי 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: גארדיאן משקיע ידאג לשינוי זה קבוע על ידי כתובת שרת ה- IP האמיתי.
- נמל: גארדיאן משק יטפל שינוי זה קבוע על ידי יציאת השרת האמיתי.
קבועים אלה יכולים לשמש עבור כל תוסף, Farm Guardian ישתמש בהם כדי להפעיל את בדיקת הבריאות עם הפרמטרים האמיתיים במקום.
חוות
על סעיף זה יש רשימה של חוות ושירותים באמצעות בדיקה זו Guard Guardian בריאות.
חוות ושירותים ניתן לנתק מן החווה זה לבדוק את הבריאות גארדן לחיצה על סמל האשפה.