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

3 בדיקות פסיביות ואקטיביות של הסוכן (aagent)

סקירה כללית

סעיף זה מספק פרטים על בדיקות פסיביות ואקטיביות שבוצעו על ידי סוכן Zabbix.

Zabbix משתמשת בפרוטוקול תקשורת מבוסס JSON לתקשורת איתו סוכן Zabbix.

ראה גם: סוכן Zabbix 2 פרטי פרוטוקול.

צ'קים פסיביים

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

בקשת שרת

להגדרת הכותרת ואורך הנתונים נא עיין בפרוטוקול פרטים.

 <מפתח פריט>

תגובת הסוכן

 <DATA>[\0<שגיאה>]

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

לדוגמה, עבור פריטים נתמכים:

  1. השרת פותח חיבור TCP
  2. השרת שולח <HEADER><DATALEN>agent.ping
  3. הסוכן קורא את הבקשה ומשיב עם <HEADER><DATALEN>1
  4. השרת מעבד נתונים כדי לקבל את הערך, '1' במקרה שלנו
  5. חיבור TCP נסגר

עבור פריטים שאינם נתמכים:

  1. השרת פותח חיבור TCP
  2. השרת שולח <HEADER><DATALEN>vfs.fs.size[/nono]
  3. הסוכן קורא את הבקשה ומשיב עם <HEADER><DATALEN>ZBX_NOTSUPPORTED\0לא ניתן להשיג מידע על מערכת הקבצים: [2] אין קובץ או ספרייה כאלה
  4. שרת מעבד נתונים, משנה מצב פריט ללא תמיכה עם הודעת שגיאה שצוינה
  5. חיבור TCP נסגר

בדיקות אקטיביות

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

השרתים שמהם ניתן לקבל את הצ'קים הפעילים מפורטים ב- פרמטר 'ServerActive' של הסוכן תצורה file. תדירות השאלות עבור בדיקות אלה מוגדר על ידי הפרמטר 'RefreshActiveChecks' ב- אותו קובץ תצורה. עם זאת, אם רענון בדיקות פעילות נכשל, זה נוסה שוב לאחר קוד קשיח של 60 שניות.

לאחר מכן, הסוכן שולח מעת לעת את הערכים החדשים לשרת/ים.

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

In order to decrease network traffic and resources usage Zabbix server or Zabbix proxy will provide configuration only if Zabbix agent still hasn't received configuration or if something has changed in host configuration, global macros or global regular expressions.

The agent then periodically sends the new values to the server(s).

If an agent is behind the firewall you might consider using only Active checks because in this case you wouldn't need to modify the firewall to allow initial incoming connections.

קבלת רשימת הפריטים

בקשת סוכן

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

{
          "request": "בדיקות פעילות",
          "host": "שרת Zabbix",
          "host_metadata": "mysql,nginx",
          "hostinterface": "zabbix.server.lan",
          "ip": "159.168.1.1",
          "נמל": 12050
       }
שדה הקלד חובה ערך
בקשה מחרוזת כן צ'קים פעילים
מארח מחרוזת כן שם מארח.
host_metadata מחרוזת לא פרמטר התצורה HostMetadata או HostMetadataItem הערך המטרי.
ממשק מארח מחרוזת לא פרמטר התצורה HostInterface או הערך המטרי של HostInterfaceItem.
ip מחרוזת לא פרמטר התצורה ListenIP first IP אם מוגדר.
נמל מספר לא פרמטר התצורה ListenPort אם מוגדר ולא יציאת האזנה של סוכן כברירת מחדל.

תגובת השרת

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

{
          "response": "הצלחה",
          "נתונים": [
            {
              "key": "log[/home/zabbix/logs/zabbix_agentd.log]",
              "key_orig": "log[/home/zabbix/logs/zabbix_agentd.log]",
              "itemid": 1234,
              "delay": "30s",
              "lastlogsize": 0,
              "mtime": 0
            },
            {
              "key": "agent.version",
              "key_orig": "agent.version",
              "itemid": 5678,
              "delay": "10m",
              "lastlogsize": 0,
              "mtime": 0
            }
          ]
       }
שדה הקלד חובה ערך
תגובה מחרוזת כן הצלחה | נכשל
מידע מחרוזת לא מידע על שגיאה במקרה של כשל.
נתונים מערך אובייקטים לא פריטי סימון פעילים.
מפתח מחרוזת לא מפתח פריט עם פקודות מאקרו מורחבות.
key_orig מחרוזת לא מפתח פריט ללא פקודות מאקרו מורחבות.
itemid מספר לא מזהה פריט.
עיכוב מחרוזת לא מרווח עדכון פריט.
lastlogsize מספר לא פריט lastlogsize.
mtime מספר לא פריט mtime.
refresh_unsupported מספר לא מרווח רענון פריט לא נתמך.
ביטוי רגולרי מערך אובייקטים לא ביטויים רגולריים גלובליים.
שם מחרוזת לא שם ביטוי רגולרי גלובלי.
ביטוי מחרוזת לא ביטוי רגולרי גלובלי.
סוג_ביטוי מספר לא סוג ביטוי רגולרי גלובלי.
exp_delimiter מחרוזת לא מפריד ביטוי רגולרי גלובלי.
רגישות_רישיות מספר לא הגדרה גלובלית של רגישות רישיות לביטוי רגולרי.

השרת חייב להגיב בהצלחה.

לדוגמה:

  1. הסוכן פותח חיבור TCP
  2. הסוכן מבקש את רשימת הצ'קים
  3. השרת מגיב עם רשימה של פריטים (מפתח פריט, עיכוב)
  4. הסוכן מנתח את התגובה
  5. חיבור TCP נסגר
  6. הסוכן מתחיל באיסוף נתונים תקופתי

::: שימו לב חשוב שים לב שנתוני תצורה (רגישים) עשויים הופכים לזמינים לגורמים שיש להם גישה ל-Zabix Server Traper יציאה בעת שימוש בצ'ק פעיל. זה אפשרי כי כל אחד יכול להעמיד פנים שהוא סוכן פעיל ולבקש נתוני תצורה של פריט; האימות אינו מתרחש אלא אם כן אתה משתמש אפשרויות הצפנה. :::

שליחת נתונים שנאספו

הסוכן שולח

בקשת נתוני הסוכן מכילה את ערכי הפריט שנאספו.

{
          "request": "נתוני סוכן",
          "נתונים": [
            {
              "host": "שרת Zabbix",
              "key": "agent.version",
              "value": "2.4.0",
              "שעון": 1400675595,
              "ns": 76808644
            },
            {
              "host": "שרת Zabbix",
              "key": "log[/home/zabbix/logs/zabbix_agentd.log]",
              "lastlogsize": 112,
              "value": " 19845:20140621:141708.521 מפעיל Zabbix Agent [<שם מארח>]. Zabbix 2.4.0 (גרסה 50000).",
              "שעון": 1400675595,
              "ns": 77053975
            }
          ],
          "session": "1234456akdsjhfoui"
       }
שדה הקלד חובה ערך
בקשה מחרוזת כן נתוני סוכן
הפעלה מחרוזת כן מזהה הפעלה ייחודי שנוצר בכל פעם כאשר הסוכן מופעל.
נתונים מערך אובייקטים כן ערכי פריט.
id מספר כן מזהה הערך (מונה אינקרמנטלי המשמש לבדיקת ערכים משוכפלים במקרה של בעיות רשת).
מארח מחרוזת כן שם מארח.
מפתח מחרוזת כן מפתח הפריט.
ערך מחרוזת לא ערך הפריט.
lastlogsize מספר לא הפריט lastlogsize.
mtime מספר לא הפריט mtime.
מדינה מספר לא מצב הפריט.
מקור מחרוזת לא מקור יומן האירועים של הערך.
eventtid מספר לא יומן האירועים של הערך eventtid.
חומרה מספר לא חומרת יומן האירועים של הערך.
חותמת זמן מספר לא חותמת הזמן של יומן האירועים של הערך.
שעון מספר כן חותמת הזמן של הערך (שניות מאז עידן).
ns מספר כן חותמת הזמן של הערך ננו-שניות.

לכל ערך מוקצה מזהה וירטואלי. מזהה ערך הוא פשוט עולה מונה, ייחודי בתוך סשן נתונים אחד (זוהה על ידי הפגישה אֲסִימוֹן). המזהה הזה משמש לביטול ערכים כפולים שעלולים להישלח בסביבות קישוריות גרועות.

תגובת השרת

תגובת נתוני הסוכן נשלחת על ידי השרת בחזרה לסוכן לאחר עיבוד בקשת נתוני הסוכן.

{
          "response": "הצלחה",
          "info": "עיבוד: 2; נכשל: 0; סה"כ: 2; שניות שהושקעו: 0.003534"
       }
שדה הקלד חובה ערך
תגובה מחרוזת כן הצלחה | נכשל
מידע מחרוזת כן תוצאות עיבוד פריטים.

::: שימו לב חשוב אם שליחת ערכים מסוימים נכשלת בשרת (עבור לדוגמה, מכיוון שהמארח או הפריט הושבתו או נמחקו), הסוכן יעשה זאת אל תנסה לשלוח שוב את הערכים האלה. :::

לדוגמה:

  1. הסוכן פותח חיבור TCP
  2. הסוכן שולח רשימת ערכים
  3. השרת מעבד את הנתונים ושולח את הסטטוס בחזרה
  4. חיבור TCP נסגר

שים לב כיצד בדוגמה למעלה המצב לא נתמך עבור vfs.fs.size[/nono] מסומן על ידי הערך "מצב" של 1 והערך הודעת שגיאה במאפיין "ערך".

::: שימו לב חשוב הודעת השגיאה תיחתך ל-2048 סמלים בצד השרת. :::

Heartbeat message

The heartbeat message is sent by an active agent to Zabbix server/proxy every HeartbeatFrequency seconds (configured in the Zabbix agent configuration file).

It is used to monitor the availability of active checks.

{
         "request": "active check heartbeat",
         "host": "Zabbix server",
         "heartbeat_freq": 60
       }
Field Type Mandatory Value
request string yes active check heartbeat
host string yes The host name.
heartbeat_freq number yes The agent heartbeat frequency (HeartbeatFrequency configuration parameter).

פרוטוקול XML ישן יותר

Zabbix ייקח עד 16 MB של נתונים מקודדים ב-XML Base64, אבל ערך בודד מפוענח לא צריך להיות יותר מ-64 KB אחרת הוא יהיה להיות קטוע ל-64 KB בזמן הפענוח.