כברירת מחדל, Relianoid מבצעת בדיקות תקינות בסיסיות על השרתים האחוריים או על השרתים האמיתיים, אך לעיתים בדיקות אלו אינן מספיקות כדי לקבוע אם השרתים האחוריים פועלים כראוי או לא. מסיבה זו, Relianoid מיישמת שירות בשם Farmguardian שמבצע ומנהל בדיקות תקינות מתקדמות.
מטרת Farmguardian היא לשמש ככלי ניטור מתקדם עבור שרתי יישומים של שרתים חיצוניים (backends). Farmguardian מבצע זאת על ידי קריאת תצורות וקבלת רשימת שרתים חיצוניים בעזרת תוספים שבודקים את מצב הבריאות של כל שרת חיצוני. Farmguardian גם מעדכן את מצב השרת האחורי עבור כל חווה, וקובע אם מאזן העומסים צריך לשלוח תעבורה לשרת האחורי הזה.
בסעיף זה, תלמד כיצד להגדיר את בדיקות ה-farmguardian באמצעות ההגדרות הגלובליות וההגדרות בתוך Farm.
הגדרות כלליות #
בתוך הקטע הגלובלי , אלו הן ההגדרות עבור Farmguardian.
בכרטיסייה גלובלית, השדות אינם ניתנים לעריכה אם הבדיקות נטענות מראש במערכת. אם ברצונך לשנות בדיקת תקינות, עליך ליצור farmguardian חדש , להפעיל את האפשרות "העתק farmguardian" ולשנות את החדש.
שם. לא ניתן לערוך את שם הזיהוי של המחאה הנוכחית של שומר החווה.
פיקוד. הגדר את הפקודה שבוצעה כדי לבדוק את מצב הקצה האחורי.
פסק זמן. משך הזמן הגבוה ביותר עבור ה-backend לשלוח תגובה בחזרה. יחידות (שניות).
הפסקה. זמן בין אצוות בדיקת בריאות מול כל הקצה האחורי. שים לב שבכל זמן מרווח, בדיקת החווה תיעצר ותושק מחדש, ולכן היא חייבת להיות גבוהה מספיק כדי שתוכל לבדוק את כל הקצה האחורי (זמן קצוב * nº קצה אחורי +1).
תיאור. שדה זה מכיל תיאור קצר של בדיקת ה- Farmguardian.
גזור חיבורים. כאשר אפשרות זו מופעלת, החיבורים הנוכחיים של הקצה האחורי שזוהה מנותקים נשטפים, מה שמאלץ חיבור מחדש מיידי לחלקים אחוריים זמינים. אם מושבת, החיבורים הנוכחיים יתרוקנו מבלי לנתק אף לקוח.
אפשר יומנים. מפעיל או משבית את היומנים של כל בדיקה חקלאית. כאשר יומנים מושבתים רק שינויים במצב backend מוצגים בקובצי היומן.
כינוי אחורי. שם שמזהה בקלות את הממשק של ה-backend.
הגדר בדיקות בריאות #
ניתן למצוא את כל התוספים הזמינים של farmguardian תחת הספרייה /usr/local/zevenet/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 מאובטחים עם המארח שצוין.
שימוש: 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.
שימוש: 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 מאובטחים עם המארח שצוין.
שימוש: 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 וינהל את פלט שגיאת הביצוע של התוסף שבוצע כדי לקבוע את מצב ה-backend כדלקמן:
אם השגיאה פלט == 0 ואז ה- backend הוא בסדר> $? = 0
אם השגיאה פלט <> 0 ואז ה- backend אינו בסדר> $? <> 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.
ניתן להקצות או להסיר חוות ושירותים מבדיקת הבריאות של Farmguardian זו באמצעות בחירות מרובות עם סמלי חץ יחיד או חצים כפולים כדי להפעיל או להשבית את כל החוות.

