כברירת מחדל, ZVVENET מפעיל בדיקות תקינות בסיסיות ב-backends או בשרתים אמיתיים, אך לפעמים בדיקות אלו אינן מספיקות כדי לקבוע אם ה-backends פועלים כראוי או לא. מסיבה זו, ZEVENET מיישמת שירות שנקרא חקלאי זה שמבצע ומנהל בדיקות בריאות מתקדמות.
המטרה של חקלאי הוא לשמש ככלי ניטור מתקדם עבור שרתי יישומים עורפיים. Farmguardian מבצע זאת על ידי קריאת תצורות וקבלת רשימת ה-backends בעזרת תוספים הבודקים את מצב הבריאות של כל backend. Farmguardian גם מעדכנת את סטטוס הקצה העורפי עבור כל חווה, וקובעת אם מאזן העומס צריך לשלוח תנועה לאותו קצה.
בחלק זה, תלמד כיצד להגדיר את חקלאי בודק באמצעות שני ה גלוֹבָּלִי הגדרות והגדרות בתוך א משק.
הגדרות כלליות
בתוך גלוֹבָּלִי סעיף, אלו ההגדרות עבור חקלאי.
בלשונית גלובלי, השדות אינם ניתנים לעריכה אם הצ'קים נטענים מראש במערכת. אם ברצונך לשנות בדיקת תקינות, עליך ליצור בדיקת תקינות חדשה חקלאי, הפעל את להעתיק חקלאי ולשנות את החדש.
שם. לא ניתן לערוך את שם הזיהוי של המחאה הנוכחית של שומר החווה.
פיקוד. הגדר את הפקודה שבוצעה כדי לבדוק את מצב הקצה האחורי.
פסק זמן. משך הזמן הגבוה ביותר עבור ה-backend לשלוח תגובה בחזרה. יחידות (שניות).
הפסקה. זמן בין אצוות בדיקת בריאות מול כל הקצה האחורי. שים לב שבכל זמן מרווח, בדיקת החווה תיעצר ותושק מחדש, ולכן היא חייבת להיות גבוהה מספיק כדי שתוכל לבדוק את כל הקצה האחורי (זמן קצוב * nº קצה אחורי +1).
תיאור. שדה זה מכיל תיאור קצר של בדיקת ה- Farmguardian.
גזור חיבורים. כאשר אפשרות זו מופעלת, החיבורים הנוכחיים של הקצה האחורי שזוהה מנותקים נשטפים, מה שמאלץ חיבור מחדש מיידי לחלקים אחוריים זמינים. אם מושבת, החיבורים הנוכחיים יתרוקנו מבלי לנתק אף לקוח.
אפשר יומנים. מפעיל או משבית את היומנים של כל בדיקה חקלאית. כאשר יומנים מושבתים רק שינויים במצב backend מוצגים בקובצי היומן.
כינוי אחורי. שם שמזהה בקלות את הממשק של ה-backend.
הגדר בדיקות בריאות
הכל זמין חקלאי ניתן למצוא תוספים תחת הספרייה / usr / local / zevenet / app / libexec / בתוך האיזון עומס.
חקלאי משתמש בתוספים כדי להגדיר בדיקות תקינות מתקדמות כדי לזהות אם שרת אמיתי מסוים עובד כמצופה באמצעות אפשרויות מותאמות אישית. יש הרבה בדיקות בריאות עבור כל פרוטוקול, שירות או יישום. התוספים החשובים ביותר מתוארים להלן.
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
חקלאי ישתמש בתוספים אלה כדי לבדוק את מצב התקינות של הקצה האחורי וינהל את פלט שגיאות הביצוע של הפלאגין המופעל כדי להחליט על מצב הקצה האחורי באופן הבא:
אם השגיאה פלט == 0 ואז ה- backend הוא בסדר> $? = 0
אם השגיאה פלט <> 0 ואז ה- backend אינו בסדר> $? <> 0
תוסף מותאם אישית
תוספים אלה יכולים להיות מוגדרים וניתנים לתכנות מלא על ידי מנהלי מערכת כדי להיות מותאמים לכל פרוטוקול או יישום.
בדוגמה זו מוצג פלאגין מותאם אישית 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
קבועים
מתי חקלאי מפעיל תוסף, הוא יכול להשתמש בקבועים או אסימונים כארגומנטים, כמו:
HOST. חקלאי ידאג לשנות את הקבוע הזה על ידי כתובת ה-IP האמיתית של השרת.
נמל. חקלאי ידאג לשנות את הקבוע הזה על ידי יציאת השרת האמיתית.
ניתן להשתמש בקבועים אלה עבור כל תוסף, חקלאי ישתמש בהם כדי להפעיל את בדיקת הבריאות עם הפרמטרים האמיתיים במקום.
חוות
בכרטיסייה זו, יש רשימה של חוות ושירותים המשתמשים בזה חקלאי בדיקת בריאות.
ניתן להקצות או להסיר מזה חוות ושירותים חקלאי בדיקת בריאות באמצעות בחירות מרובות עם סמלי חץ בודד או חיצים כפולים כדי להפעיל או להשבית את כל החוות.