This is a translation of the original English documentation page. Help us make it better.

9. ניטור אינטרנט

סקירה כללית

עם Zabbix אתה יכול לבדוק כמה היבטי זמינות של אתרי אינטרנט.

::: הערה חשוב כדי לבצע ניטור אינטרנט שרת Zabbix חייב להיות תחילה configured עם תמיכה ב-cURL (libcurl). :::

כדי להפעיל ניטור אינטרנט עליך להגדיר תרחישי אינטרנט. רשת תרחיש מורכב מבקשת HTTP אחת או כמה "צעדים". הצעדים מבוצעים מעת לעת על ידי שרת Zabbix בסדר מוגדר מראש. אם המארח מנוטר על ידי פרוקסי, השלבים מבוצעים על ידי פרוקסי.

תרחישי אינטרנט מחוברים למארחים/תבניות באותו אופן כמו פריטים, טריגרים וכו'. זה אומר שניתן ליצור תרחישי אינטרנט גם ב-a רמת התבנית ולאחר מכן הוחל על מארחים מרובים במהלך אחד.

המידע הבא נאסף בכל תרחיש אינטרנט:

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

המידע הבא נאסף בכל שלב בתרחיש אינטרנט:

  • מהירות הורדה לשנייה
  • זמן תגובה
  • קוד תגובה

לפרטים נוספים, ראה ניטור אינטרנט items.

נתונים שנאספים מביצוע תרחישי אינטרנט נשמרים במסד הנתונים. ה הנתונים משמשים אוטומטית עבור גרפים, טריגרים והתראות.

Zabbix יכול גם לבדוק אם דף HTML שאוחזר מכיל דף מוגדר מראש חוּט. זה יכול לבצע התחברות מדומה ולעקוב אחר נתיב של סימולציה לחיצות עכבר על הדף.

ניטור האינטרנט של Zabbix תומך גם ב-HTTP וגם ב-HTTPS. בעת הפעלת רשת תרחיש, Zabbix תעקוב באופן אופציונלי אחר הפניות מחדש (ראה אפשרות עקוב הפניות מחדש למטה). המספר המרבי של הפניות מחדש מקודד בקשיח ל-10 (באמצעות אפשרות cURL CURLOPT_MAXREDIRS). כל העוגיות נשמרות במהלך ביצוע תרחיש בודד.

הגדרת תרחיש אינטרנט

כדי להגדיר תרחיש אינטרנט:

  • עבור אל: תצורה ← מארחים (או תבניות)
  • לחץ על אינטרנט בשורה של המארח/תבנית
  • לחץ על צור תרחיש מימין (או על שם התרחיש אל ערוך תרחיש קיים)
  • הזן פרמטרים של התרחיש בטופס

הכרטיסייה תרחיש מאפשרת לך להגדיר את הפרמטרים הכלליים של א תרחיש אינטרנט.

כל שדות הקלט החובה מסומנים בכוכבית אדומה.

פרמטרים של תרחיש:

פרמטר תיאור
שם שם תרחיש ייחודי.
פקודות מאקרו משתמש נתמכות. שים לב שאם נעשה שימוש בפקודות מאקרו של משתמש, פקודות מאקרו אלו יישארו ללא פתרון בשמות פריט ניטור אינטרנט.
מרווח עדכון באיזו תדירות יתבצע התרחיש.
סיומות זמן נתמכות, למשל. 30s, 1m, 2h, 1d.
פקודות מאקרו משתמש נתמכות. שים לב שאם נעשה שימוש במאקרו משתמש והערך שלו משתנה (למשל 5m → 30s), הבדיקה הבאה תתבצע לפי הערך הקודם (רחוק יותר בעתיד עם הערכים לדוגמה).
ניסיונות מספר הניסיונות לביצוע שלבי תרחיש אינטרנט. במקרה של בעיות רשת (פסק זמן, אין קישוריות וכו') Zabbix יכולה לחזור על ביצוע שלב מספר פעמים. ערכת הדמויות תשפיע באותה מידה על כל שלב בתרחיש. ניתן לציין עד 10 ניסיונות, ערך ברירת המחדל הוא 1.
הערה: Zabbix לא יחזור על שלב בגלל קוד תגובה שגוי או אי התאמה של מחרוזת נדרשת.
סוכן בחר סוכן לקוח.
Zabbix יעמיד פנים שהוא הדפדפן שנבחר. זה שימושי כאשר אתר מחזיר תוכן שונה עבור דפדפנים שונים.
ניתן להשתמש בפקודות מאקרו של משתמשים בשדה זה.
HTTP proxy אתה יכול לציין פרוקסי HTTP לשימוש, באמצעות הפורמט [protocol://][username[:password]@]proxy.example.com[:port].
זה מגדיר את CURLOPT_PROXY אפשרות cURL.
ניתן להשתמש בקידומת protocol:// האופציונלית כדי לציין פרוטוקולי proxy חלופיים (הפרוטוקול נוספה תמיכת קידומת ב-cURL 7.21.7). ללא פרוטוקול, ה-proxy יטופל כאל פרוקסי HTTP.
כברירת מחדל, ייעשה שימוש ביציאת 1080.
אם צוין, ה-proxy ידרוס משתני סביבה הקשורים ל-proxy כמו http_proxy, HTTPS_PROXY. אם לא צוין, ה-proxy לא יחליף משתני סביבה הקשורים ל-proxy. הערך שהוזן מועבר "כפי שהוא", לא מתבצעת בדיקת שפיות.
תוכל גם להזין כתובת פרוקסי של SOCKS. אם תציין את הפרוטוקול השגוי, החיבור ייכשל והפריט לא יהיה נתמך.
שים לב שרק אימות פשוט נתמך עם פרוקסי HTTP.
ניתן להשתמש בפקודות מאקרו של משתמשים בשדה זה.
משתנים משתנים שניתן להשתמש בהם בשלבי תרחיש (כתובת אתר, משתני פרסום).
יש להם את הפורמט הבא:
{macro1}=value1
**{macro2}* *=value2
{macro3}=regex:<regular expression>
לדוגמה:
{username}=Alexei
{password}=kj3h5kJ34bd
{hostid}=regex :hostid הוא ([0-9]+)
לאחר מכן ניתן להתייחס לפקודות המאקרו בשלבים כמו {username}, {password} ו-{hostid}. Zabbix יחליף אותם אוטומטית בערכים בפועל. שים לב שמשתנים עם regex: צריכים שלב אחד כדי לקבל את הערך של הביטוי הרגולרי כך שניתן להחיל את הערך שחולץ רק על השלב שאחרי.
אם חלק הערך מתחיל ב-regex: אז החלק שאחריו מתייחסים אליו כאל ביטוי רגולרי שמחפש בדף האינטרנט, ואם הוא נמצא, מאחסן את ההתאמה במשתנה. לפחות תת-קבוצה אחת חייבת להיות נוכחת כדי שניתן יהיה לחלץ את הערך המותאם.
פקודות מאקרו משתמש ו-{HOST.*} macros נתמכות.
משתנים נתמכים באופן אוטומטי מקודדת כתובת URL בשימוש בשדות שאילתה או בנתוני טופס עבור משתני פוסט, אך חייבת להיות מקודדת ידנית ב-URL בשימוש בפוסט גולמי או ישירות ב-URL.
כותרות כותרות HTTP משמשות בעת ביצוע בקשה. ניתן להשתמש בכותרות ברירת מחדל ובכותרות מותאמות אישית.
כותרות יוקצו באמצעות הגדרות ברירת המחדל בהתאם לסוג הסוכן שנבחר מרשימה נפתחת ברמת התרחיש, ויחולו על כל השלבים, אלא אם כן הם מוגדרים בהתאמה אישית ב רמת שלב.
יש לשים לב שהגדרת הכותרת ברמת השלב מבטלת אוטומטית את כל הכותרות שהוגדרו קודם לכן, למעט כותרת ברירת מחדל המוקצית על ידי בחירת 'User-Agent' מתוך תפריט נפתח רשימה ברמת תרחיש.
עם זאת, ניתן לעקוף אפילו את כותרת ברירת המחדל 'User-Agent' על ידי ציון שלה ברמת שלב.
כדי לבטל את הגדרת הכותרת ברמת תרחיש, יש לתת לכותרת את השם ומיוחס ללא ערך ברמת השלבים.
יש לרשום כותרות באמצעות אותו תחביר כפי שהן יופיעו בפרוטוקול HTTP, אופציונלי באמצעות כמה תכונות נוספות הנתמכות על ידי CURLOPT_HTTPHEADER אפשרות cURL

הגדרת תרחיש אינטרנט

כדי להגדיר תרחיש אינטרנט:

  • עבור אל: תצורה ← מארחים (או תבניות)
  • לחץ על אינטרנט בשורה של המארח/תבנית
  • לחץ על צור תרחיש מימין (או על שם התרחיש אל ערוך תרחיש קיים)
  • הזן פרמטרים של התרחיש בטופס

הכרטיסייה תרחיש מאפשרת לך להגדיר את הפרמטרים הכלליים של א תרחיש אינטרנט.

כל שדות הקלט החובה מסומנים בכוכבית אדומה.

פרמטרים של תרחיש:

פרמטר תיאור
שם שם תרחיש ייחודי.
פקודות מאקרו משתמש נתמכות. שים לב שאם נעשה שימוש בפקודות מאקרו של משתמש, פקודות מאקרו אלו יישארו ללא פתרון בשמות פריט ניטור אינטרנט.
מרווח עדכון באיזו תדירות יתבצע התרחיש.
סיומות זמן נתמכות, למשל. 30s, 1m, 2h, 1d.
פקודות מאקרו משתמש נתמכות. שים לב שאם נעשה שימוש במאקרו משתמש והערך שלו משתנה (למשל 5m → 30s), הבדיקה הבאה תתבצע לפי הערך הקודם (רחוק יותר בעתיד עם הערכים לדוגמה).
ניסיונות מספר הניסיונות לביצוע שלבי תרחיש אינטרנט. במקרה של בעיות רשת (פסק זמן, אין קישוריות וכו') Zabbix יכולה לחזור על ביצוע שלב מספר פעמים. ערכת הדמויות תשפיע באותה מידה על כל שלב בתרחיש. ניתן לציין עד 10 ניסיונות, ערך ברירת המחדל הוא 1.
הערה: Zabbix לא יחזור על שלב בגלל קוד תגובה שגוי או אי התאמה של מחרוזת נדרשת.
סוכן בחר סוכן לקוח.
Zabbix יעמיד פנים שהוא הדפדפן שנבחר. זה שימושי כאשר אתר מחזיר תוכן שונה עבור דפדפנים שונים.
ניתן להשתמש בפקודות מאקרו של משתמשים בשדה זה.
HTTP proxy אתה יכול לציין פרוקסי HTTP לשימוש, באמצעות הפורמט [protocol://][username[:password]@]proxy.example.com[:port].
זה מגדיר את CURLOPT_PROXY אפשרות cURL.
ניתן להשתמש בקידומת protocol:// האופציונלית כדי לציין פרוטוקולי proxy חלופיים (הפרוטוקול נוספה תמיכת קידומת ב-cURL 7.21.7). ללא פרוטוקול, ה-proxy יטופל כאל פרוקסי HTTP.
כברירת מחדל, ייעשה שימוש ביציאת 1080.
אם צוין, ה-proxy ידרוס משתני סביבה הקשורים ל-proxy כמו http_proxy, HTTPS_PROXY. אם לא צוין, ה-proxy לא יחליף משתני סביבה הקשורים ל-proxy. הערך שהוזן מועבר "כפי שהוא", לא מתבצעת בדיקת שפיות.
תוכל גם להזין כתובת פרוקסי של SOCKS. אם תציין את הפרוטוקול השגוי, החיבור ייכשל והפריט לא יהיה נתמך.
שים לב שרק אימות פשוט נתמך עם פרוקסי HTTP.
ניתן להשתמש בפקודות מאקרו של משתמשים בשדה זה.
משתנים משתנים שניתן להשתמש בהם בשלבי תרחיש (כתובת אתר, משתני פרסום).
יש להם את הפורמט הבא:
{macro1}=value1
**{macro2}* *=value2
{macro3}=regex:<regular expression>
לדוגמה:
{username}=Alexei
{password}=kj3h5kJ34bd
{hostid}=regex :hostid הוא ([0-9]+)
לאחר מכן ניתן להתייחס לפקודות המאקרו בשלבים כמו {username}, {password} ו-{hostid}. Zabbix יחליף אותם אוטומטית בערכים בפועל. שים לב שמשתנים עם regex: צריכים שלב אחד כדי לקבל את הערך של הביטוי הרגולרי כך שניתן להחיל את הערך שחולץ רק על השלב שאחרי.
אם חלק הערך מתחיל ב-regex: אז החלק שאחריו מתייחסים אליו כאל ביטוי רגולרי שמחפש בדף האינטרנט, ואם הוא נמצא, מאחסן את ההתאמה במשתנה. לפחות תת-קבוצה אחת חייבת להיות נוכחת כדי שניתן יהיה לחלץ את הערך המותאם.
פקודות מאקרו משתמש ו-{HOST.*} macros נתמכות.
משתנים נתמכים באופן אוטומטי מקודדת כתובת URL בשימוש בשדות שאילתה או בנתוני טופס עבור משתני פוסט, אך חייבת להיות מקודדת ידנית ב-URL בשימוש בפוסט גולמי או ישירות ב-URL.
כותרות כותרות HTTP משמשות בעת ביצוע בקשה. ניתן להשתמש בכותרות ברירת מחדל ובכותרות מותאמות אישית.
כותרות יוקצו באמצעות הגדרות ברירת המחדל בהתאם לסוג הסוכן שנבחר מרשימה נפתחת ברמת התרחיש, ויחולו על כל השלבים, אלא אם כן הם מוגדרים בהתאמה אישית ב רמת שלב.
יש לשים לב שהגדרת הכותרת ברמת השלב מבטלת אוטומטית את כל הכותרות שהוגדרו קודם לכן, למעט כותרת ברירת מחדל המוקצית על ידי בחירת 'User-Agent' מתוך תפריט נפתח רשימה ברמת תרחיש.
עם זאת, ניתן לעקוף אפילו את כותרת ברירת המחדל 'User-Agent' על ידי ציון שלה ברמת שלב.
כדי לבטל את הגדרת הכותרת ברמת תרחיש, יש לתת לכותרת את השם ומיוחס ללא ערך ברמת השלבים.
יש לרשום כותרות באמצעות אותו תחביר כפי שהן יופיעו בפרוטוקול HTTP, אופציונלי באמצעות כמה תכונות נוספות הנתמכות על ידי CURLOPT_HTTPHEADER אפשרות cURL

הגדרת תגים

הכרטיסייה תגים מאפשרת להגדיר ברמת התרחיש תגים.

תיוג מאפשר לסנן תרחישי אינטרנט וניטור אינטרנט items.

הגדרת אימות

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

פרמטרי אימות:

פרמטר תיאור
אימות אפשרויות אימות.
ללא - לא נעשה שימוש באימות.
בסיסי - נעשה שימוש באימות בסיסי.
NTLM - NTLM (Windows NT LAN מנהל) נעשה שימוש באימות.
Kerberos - נעשה שימוש באימות Kerberos. ראה גם: הגדרת Kerberos עם Zabbix.
Digest - נעשה שימוש באימות Digest.
בחירת שיטת אימות תספק שני שדות נוספים להזנת משתמש שם וסיסמה.
ניתן להשתמש בפקודות מאקרו של משתמש בשדות משתמש וסיסמה.
SSL verify peer סמן את תיבת הסימון כדי לאמת את אישור ה-SSL של שרת האינטרנט.
אישור השרת יילקח אוטומטית ממיקום רשות האישורים (CA) בכל המערכת. אתה יכול לעקוף את המיקום של קבצי CA באמצעות שרת Zabbix או פרמטר תצורת proxy SSLCALocation.
זה מגדיר את ה-CURLOPT_SSL_VERIFYPEER אפשרות cURL.
SSL verify host סמן את תיבת הסימון כדי לוודא שהשדה Common Name או השדה Subject Alternate Name של תעודת שרת האינטרנט תואמים.
זה מגדיר את CURLOPT_SSL_VERIFYHOST אפשרות cURL.
קובץ אישור SSL שם קובץ אישור ה-SSL המשמש לאימות לקוח. קובץ האישור חייב להיות בפורמט PEM1. אם קובץ האישור מכיל גם את המפתח הפרטי, השאר את השדה קובץ מפתח SSL ריק. אם המפתח מוצפן, ציין את הסיסמה בשדה סיסמת מפתח SSL. הספרייה המכילה קובץ זה מצוינת על ידי פרמטר תצורת שרת Zabbix או פרוקסי SSLCertLocation.
HOST.* ניתן להשתמש בפקודות מאקרו ופקודות מאקרו משתמש בשדה זה.
זה מגדיר את אפשרות ה-cURL CURLOPT_SSLCERT.
קובץ מפתח SSL שם קובץ המפתח הפרטי SSL המשמש לאימות לקוח. קובץ המפתח הפרטי חייב להיות בפורמט PEM1. הספרייה המכילה קובץ זה מצוינת על ידי פרמטר תצורת שרת Zabbix או פרוקסי SSLKeyLocation.
'HOST.*' ניתן להשתמש בפקודות מאקרו ופקודות מאקרו משתמש בשדה זה.
זה מגדיר את אפשרות ה-cURL CURLOPT_SSLKEY.
סיסמת מפתח SSL סיסמת קובץ מפתח פרטי SSL.
ניתן להשתמש בפקודות מאקרו משתמש בשדה זה.
זה מגדיר את ה-CURLOPT_KEYPASSWD אפשרות cURL.

::: הערה חשוב [1] Zabbix תומך באישור ובמפתח פרטי קבצים בפורמט PEM בלבד. למקרה שיש לך תעודה ופרטית נתוני מפתח בקובץ בפורמט PKCS #12 (בדרך כלל עם סיומת *.p12 או *.pfx) תוכל ליצור ממנו את קובץ ה-PEM באמצעות הפעולות הבאות פקודות:

 openssl pkcs12 -in ssl-cert.p12 -clcerts -nokeys -out ssl-cert.pem
        openssl pkcs12 -in ssl-cert.p12 -nocerts -nodes -out ssl-cert.key

:::

שרת Zabbix קולט שינויים בתעודות ללא א איתחול.

אם יש לך אישור לקוח ומפתח פרטי ביחיד פשוט ציין אותו בשדה "קובץ אישור SSL" והשאיר את "SSL שדה קובץ מפתח" ריק. האישור והמפתח עדיין חייבים להיות ב-PEM פוּרמָט. שילוב תעודה ומפתח קל:

 cat client.crt client.key > client.pem

תצוגה

כדי להציג תרחישי אינטרנט שהוגדרו עבור מארח, עבור אל ניטור → מארחים, אתר את המארח ברשימה ולחץ על ההיפר-קישור Web באחרון טור. לחץ על שם התרחיש כדי לקבל מידע מפורט.

סקירה כללית של תרחישי אינטרנט יכולה להיות מוצגת גם ב-ניטור → לוח מחוונים על ידי ווידג'ט ניטור אינטרנט.

תוצאות אחרונות של ביצוע תרחיש האינטרנט זמינות ב- ניטור ← נתונים אחרונים סעיף.

ניטור מורחב

לפעמים יש צורך ברישום תוכן דף HTML שהתקבל. זה שימושי במיוחד אם שלב כלשהו בתרחיש אינטרנט נכשל. ניפוי באגים רמה 5 (מעקב) משרת את המטרה הזו. ניתן להגדיר רמה זו שרת ו proxy קובצי תצורה או באמצעות אפשרות בקרת זמן ריצה (-R log_level_increase="http poller,N", כאשר N הוא מספר התהליך). הדוגמאות הבאות מדגימות כיצד ניתן להתחיל ניטור מורחב בתנאי שרמת ניפוי 4 כבר קיימת מַעֲרֶכֶת:

 הגדל את רמת היומן של כל משאלי http:
        shell> zabbix_server -R log_level_increase="http poller"
       
        הגדל את רמת היומן של משאל ה-http השני:
        shell> zabbix_server -R log_level_increase="http poller,2"

אם אין צורך בניטור אינטרנט מורחב ניתן להפסיק אותו באמצעות אפשרות -R log_level_decrease.