כברירת מחדל, RELIANOID מפעיל בדיקות תקינות בסיסיות ב-backends או בשרתים אמיתיים, אך ייתכן שבדיקות אלו לא יספיקו כדי להבטיח את התפקוד התקין של ה-backends. כדי לטפל בזה, RELIANOID כולל שירות שנקרא חקלאי שמבצעת ומנהלת בדיקות בריאות מתקדמות.
Farmguardian משמש ככלי ניטור מתקדם עבור שרתי יישומים חיצוניים. הוא קורא תצורות, מקבל את רשימת השרתים האחוריים ומשתמש בתוספים כדי לבדוק את מצב הבריאות של כל שרת אחורי. בהתבסס על בדיקות אלו, Farmguardian מעדכן את מצב השרת האחורי עבור כל חווה, וקובע האם מאזן העומסים צריך לנתב את התעבורה לשרת האחורי הזה.
בסעיף זה, תלמד כיצד להגדיר בדיקות Farmguardian באמצעות ההגדרות הגלובליות והן ההגדרות בתוך חווה.
הגדרות כלליות #
בתוך הקטע הגלובלי , אלו הן ההגדרות עבור Farmguardian.
בכרטיסייה גלובלית , השדות אינם ניתנים לעריכה אם הבדיקות נטענות מראש במערכת. כדי לשנות בדיקת תקינות, צור Farmguardian חדש , הפעל את האפשרות העתק Farmguardian ושנה את החדש.
שם. שם הזיהוי של המחאה הנוכחית של שומר החווה, שלא ניתן לערוך.
פיקוד. הפקודה שבוצעה כדי לבדוק את מצב הקצה האחורי.
פסק זמן. הזמן המקסימלי עבור ה-backend לשלוח תגובה (בשניות).
הפסקה. הזמן בין אצוות בדיקת תקינות מול כל הקצה האחורי. מרווח זה חייב להיות ארוך מספיק כדי לאפשר את בדיקת כל הקצה האחורי (זמן קצוב * מספר הקצה האחורי +1).
תיאור. תיאור קצר של המחאה של שומר החווה.
גזור חיבורים. כאשר מופעל, חיבורים נוכחיים ל-backends שזוהו נשטפים, מה שמאלץ חיבור מחדש מיידי ל-backends זמינים. אם מושבת, החיבורים הנוכחיים יתרוקנו מבלי לנתק לקוח.
אפשר יומנים. מפעיל או משבית יומנים עבור כל בדיקה של Farmguardian. כאשר יומנים מושבתים, רק שינויים בסטטוס הקצה האחורי מוצגים בקובצי היומן.
כינוי אחורי. שם שמזהה בקלות את הממשק של ה-backend.
הגדר בדיקות בריאות #
כל התוספים הזמינים של Farmguardian ממוקמים בספריות /usr/lib/nagios/plugins ו- /usr/local/relianoid/app/libexec/ במאזן העומסים.
Farmguardian משתמש בתוספים אלה כדי להגדיר בדיקות תקינות מתקדמות, ומבטיח ששרתים אמיתיים פועלים כראוי באמצעות אפשרויות מותאמות אישית. ישנן בדיקות תקינות רבות עבור פרוטוקולים, שירותים או יישומים שונים. להלן תיאורים של התוספים החשובים ביותר.
check_ftp . תוסף זה בודק חיבורי FTP עם המארח שצוין.
שימוש: check_ftp -H host -p port [-w ] [-ג ] [-ס ] [-ה ] [-ש ][-M ] [-ד ] [-ת ] [-ר ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_fping : תוסף זה משתמש בפקודת fping כדי לבצע ping במהירות למארח שצוין לצורך בדיקה מהירה.
שימוש: check_fping -w limit -c limit [-b size] [-n number] [-T number] [-i number]
check_http : תוסף זה בודק את שירות ה-HTTP על המארח שצוין. הוא יכול להתמודד הן עם פרוטוקולים רגילים (HTTP) והן עם פרוטוקולים מאובטחים (HTTPS), לעקוב אחר הפניות, לחפש מחרוזות או ביטויים רגולריים ספציפיים, לבדוק זמני חיבור ולדווח על זמני תפוגת אישורים, קודי החזרת HTTP ועוד.
שימוש: check_http -H | -אני [-u ] [-עמ' ] [-J ] [-ק ] [-וו ] [-ג ] [-ת ] [-L] [-E] [-a auth] [-b proxy_auth] [-f ] [-ה ] [-d string] [-s string] [-l] [-r | -ר ] [-P מחרוזת] [-m : ] [-4|-6] [-N] [-M ] [-מחרוזת] [-k מחרוזת] [-S ] [--סני] [-ג [, ]] [-ת ] [-j method]
check_imap : תוסף זה בודק חיבורי IMAP עם המארח שצוין.
שימוש: check_imap -H host -p port [-w ] [-ג ] [-ס ] [-ה ] [-ש ][-M ] [-ד ] [-ת ] [-ר ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_ldap : תוסף זה בודק שירותי LDAP באמצעות שאילתת חיפוש מוגדרת.
שימוש: check_ldap -H -ב [-עמ' ] [-א ] [-ד ] [-פ ] [-וו ] [-ג ] [-t timeout] [-2|-3] [-4|-6]
check_ldaps : תוסף זה בודק שירותי LDAPS באמצעות שאילתת חיפוש מוגדרת.
שימוש: check_ldaps -H -ב [-עמ' ] [-א ] [-ד ] [-פ ] [-וו ] [-ג ] [-t timeout] [-2|-3] [-4|-6]
check_mysql : תוסף זה מאמת חיבורים לשרת MySQL.
שימוש: 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 : תוסף זה מעריך תוצאת שאילתה מול רמות סף שצוינו.
שימוש: 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 מקבל כעת חיבורים.
שימוש: check_pgsql [-H ] [-פ ] [-ג ] [-וו ] [-ת ] [-ד ] [-ל ] [-עמ' ] [-ש ] [-ג ] [-W ]
check_pop : תוסף זה בודק חיבורי POP עם מארח מסוים.
שימוש: check_pop -H host -p port [-w ] [-ג ] [-ס ] [-ה ] [-ש ][-M ] [-ד ] [-ת ] [-ר ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_radius : תוסף זה בודק האם שרת RADIUS מקבל חיבורים.
שימוש: check_radius -H host -F config_file -u שם משתמש -p סיסמה [-P port] [-t timeout] [-r מנסה שוב] [-e expect] [-n nas-id] [-N nas-ip-addr ]
check_simap : תוסף זה בודק חיבורי IMAP (SIMAP) מאובטחים עם המארח שצוין.
שימוש: check_simap -H host -p port [-w ] [-ג ] [-ס ] [-ה ] [-ש ][-M ] [-ד ] [-ת ] [-ר ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_smtp : תוסף זה בודק חיבורי SMTP עם המארח שצוין.
שימוש: 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 (Simple Network Management Protocol).
שימוש: check_snmp -H -o [-w warn_range] [-c crit_range] [-C community] [-s string] [-r regex] [-R regexi] [-t timeout] [-e resins] [-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 (SPOP) מאובטחים עם המארח שצוין.
שימוש: check_spop -H host -p port [-w ] [-ג ] [-ס ] [-ה ] [-ש ][-M ] [-ד ] [-ת ] [-ר ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_ssh : תוסף זה מנסה ליצור חיבור SSH עם השרת והפורט שצוינו.
שימוש: check_ssh [-4|-6] [-t ] [-ר ] [-עמ' ]
check_ssmtp : תוסף זה בודק חיבורי SSMTP עם המארח שצוין.
שימוש: check_ssmtp -H host -p port [-w ] [-ג ] [-ס ] [-ה ] [-ש ][-M ] [-ד ] [-ת ] [-ר ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_tcp : תוסף זה בודק חיבורי TCP עם המארח שצוין.
שימוש: check_tcp -H host -p port [-w ] [-ג ] [-ס ] [-ה ] [-ש ][-M ] [-ד ] [-ת ] [-ר ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
לפרטים נוספים, הפעל את הפקודה הבאה בתוך ספריית התוספים:
תוסף_שם - עזרה
Farmguardian משתמש בתוספים אלה כדי לנטר את מצב הבריאות של ה-backends ומפרש את פלט שגיאת הביצוע של התוסף כדלקמן:
- אם פלט השגיאה הוא 0, הקצה האחורי נחשב תקין (סטטוס יציאה $? = 0).
- אם פלט השגיאה אינו 0 (כל ערך שאינו אפס), הקצה האחורי נחשב לא תקין (סטטוס יציאה $? <> 0).
תוסף מותאם אישית #
תוספים אלה ניתנים להגדרה וניתנים לתכנות מלא על ידי מנהלי מערכת כדי להתאים אותם לכל פרוטוקול או יישום.
הנה דוגמה לתוסף מותאם אישית בשם check_load.sh :
#!/bin/bash ### ###הערות: יש להתקין ###snmp utils ###snmpd יש להתקין ולהגדיר בקצה האחורי ### 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 | חתך -ד '.' -f1 | sed s/\ // | sed s/\"//` echo "בדיקת עומס מעבד SNMP עבור $1 היא $EXECUTE" # אם התוצאה נכונה, צא עם 1; error; else exit = 0; OK if (( $EXECUTE >= $MAXVALUE )) ; אז פלט #שגיאה השרת עמוס יתר על המידה ומאזן העומס לא ישלח יותר חיבורים צא 1 אחר, לא שגיאה השרת יכול לקבל יותר חיבורים יציאה 0 fi;
קבועים #
כאשר Farmguardian מבצע תוסף, הוא יכול להשתמש בקבועים או באסימונים כארגומנטים, כגון:
HOST: חקלאי יחליף אוטומטית את הקבוע הזה בכתובת ה-IP האמיתית של השרת.
נמל: חקלאי יחליף אוטומטית את הקבוע הזה ביציאת השרת האמיתית.
ניתן להשתמש בקבועים אלה עבור כל תוסף, מה שמאפשר חקלאי כדי לבצע בדיקות תקינות עם הפרמטרים הנכונים.
חוות #
בכרטיסייה זו תמצאו רשימה של חוות ושירותים המשתמשים בבדיקת תקינות זו של Farmguardian.
ניתן להקצות או להסיר חוות ושירותים מבדיקת תקינות זו של Farmguardian באמצעות אפשרויות בחירה מרובות עם סמלי חץ יחיד או חצים כפולים כדי להפעיל או להשבית את כל החוות.

