ניטור | חקלאים עדכון

פורסם ב-13 במרץ, 2020

כברירת מחדל, זאבנט פועל בדיקות בריאות פשוטות על backends או שרתים אמיתיים, אבל לפעמים לבדוק את זה לא מספיק כדי לקבוע אם backenders פועלים כראוי. מסיבה זו, זבנט מיישמת שירות שמבצע ומנהל בדיקות בריאות מתקדמות באמצעות דמון המשתמש בתוספים הנקראים חקלאי.

המשימה העיקרית של Farmguardian היא לעבוד ככלי ניטור מתקדם עבור תומכי יישומים, למטרה זו, Farm Guardian קורא את תצורת החווה ומשיג את רשימת ה- backend, ועוזר בתוסף בודק את מצב הבריאות של backend, Farm Guardian מעדכן את ה- backend מצב של החווה הנתונה המנהלת אם מאזן העומסים אמור לשלוח תנועה למגב כזה.

בסעיף זה, באפשרותך להגדיר את בדיקת ה- Farmguardian. תוכל לראות שתי כרטיסיות גלוֹבָּלִי ו חוות.

הגדרות כלליות

בחלק הכללי ישנן הגדרות בדיקת בריאות לבדיקת בריאות מסוימת של Farmguardian, כפי שמוצג להלן.
השדות של הכרטיסייה הזו אינם ניתנים לעריכה אם ההמחאה נטענת מראש במערכת, אם ברצונך לשנות את ההמחאה, עליך ליצור Farmguardian חדש המאפשר את הפרמטר להעתיק ולהוסיף את הסימון הרצוי כתבנית ולשנות את החדש.

  • שם. שם זיהוי של החווה הנוכחית לבדוק גארדיאן, זה לא ניתן לערוך.
  • תיאור. שדה זה מכיל תיאור קצר של בדיקת ה- Farmguardian.
  • פיקוד. הגדר את הפקודה להורג כדי לבדוק מצב backends.
  • הפסקה. זמן בשניות בין קבוצות לבדוק בריאות נגד כל backenders. שים לב כי כל מרווח זמן, לבדוק את החווה יפסיק להיות relaunched, אז זה חייב להיות גבוה מספיק כדי להיות מסוגל לבדוק את כל backends (זמן קצוב * nº backends + 1)
  • גזור חיבורים. כאשר אפשרות זו מופעלת, החיבורים הנוכחיים של ה- backend המצוין הם סמוקים, ומאלצים התחברות מיידית מיידית לגיבוי זמין. אם מושבתים, החיבורים הנוכחיים ירוקנו מבלי לנתק כל לקוח.
  • יומנים. מפעיל או משבית את היומנים של כל בדיקה חקלאית. כאשר יומנים מושבתים רק שינויים במצב backend מוצגים בקובצי היומן.

הגדר בדיקות בריאות

כל התוספים הפארמגארדים הזמינים ניתן למצוא תחת המדריך / usr / local / zevenet / app / libexec / בתוך האיזון עומס.

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

קבועים

כאשר פרמגארדיאן מבצע תוסף, הוא יכול להשתמש בקבועים או באסימונים כארגומנטים, כגון:

  • HOST: Farmguardian ידאג שינוי זה קבוע על ידי כתובת שרת ה- IP האמיתי.
  • נמל: Farmguardian ידאג לשינוי זה קבוע על ידי יציאת השרת האמיתי.

קבועים אלה יכולים לשמש עבור כל תוסף, Farmguardian ישתמש בהם כדי להפעיל את בדיקת הבריאות עם הפרמטרים האמיתיים במקום.

חוות

על הכרטיסייה הזו, יש רשימה של חוות ושירותים באמצעות בדיקה זו הבריאות בחווה.

חוות ושירותים ניתן להקצות או להסיר זה לבדוק בריאות בחו "ל באמצעות מספר בחירות עם סמלים חץ אחד או חיצים כפולים כדי להפעיל או להשבית את כל החוות.

תשתף:

תיעוד על פי תנאי הרישיון לשימוש חופשי במסמכים של גנו.

האם המאמר הזה היה מועיל?

מאמרים נוספים