סעיף זה מספק פרטים על בדיקות פסיביות ואקטיביות שבוצעו על ידי סוכן Zabbix.
Zabbix משתמשת בפרוטוקול תקשורת מבוסס JSON לתקשורת איתו סוכן Zabbix.
ראה גם: סוכן Zabbix 2 פרטי פרוטוקול.
בדיקה פסיבית היא בקשת נתונים פשוטה. שרת Zabbix או פרוקסי שואל עבור נתונים מסוימים (לדוגמה, עומס מעבד) וסוכן Zabbix שולח בחזרה את תוצאה לשרת.
בקשת שרת
להגדרת הכותרת ואורך הנתונים נא עיין בפרוטוקול פרטים.
תגובת הסוכן
למעלה, החלק בסוגריים מרובעים הוא אופציונלי ונשלח רק על לא פריטים נתמכים.
לדוגמה, עבור פריטים נתמכים:
עבור פריטים שאינם נתמכים:
בדיקות אקטיביות דורשות עיבוד מורכב יותר. הסוכן חייב קודם כל לאחזר מהשרת/ים רשימה של פריטים לעיבוד עצמאי.
השרתים שמהם ניתן לקבל את הצ'קים הפעילים מפורטים ב- פרמטר '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 | מחרוזת | לא | מפריד ביטוי רגולרי גלובלי. | |
רגישות_רישיות | מספר | לא | הגדרה גלובלית של רגישות רישיות לביטוי רגולרי. |
השרת חייב להגיב בהצלחה.
לדוגמה:
::: שימו לב חשוב שים לב שנתוני תצורה (רגישים) עשויים הופכים לזמינים לגורמים שיש להם גישה ל-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 | מספר | כן | חותמת הזמן של הערך ננו-שניות. |
לכל ערך מוקצה מזהה וירטואלי. מזהה ערך הוא פשוט עולה מונה, ייחודי בתוך סשן נתונים אחד (זוהה על ידי הפגישה אֲסִימוֹן). המזהה הזה משמש לביטול ערכים כפולים שעלולים להישלח בסביבות קישוריות גרועות.
תגובת השרת
תגובת נתוני הסוכן נשלחת על ידי השרת בחזרה לסוכן לאחר עיבוד בקשת נתוני הסוכן.
שדה | הקלד | חובה | ערך |
---|---|---|---|
תגובה | מחרוזת | כן | הצלחה | נכשל |
מידע | מחרוזת | כן | תוצאות עיבוד פריטים. |
::: שימו לב חשוב אם שליחת ערכים מסוימים נכשלת בשרת (עבור לדוגמה, מכיוון שהמארח או הפריט הושבתו או נמחקו), הסוכן יעשה זאת אל תנסה לשלוח שוב את הערכים האלה. :::
לדוגמה:
שים לב כיצד בדוגמה למעלה המצב לא נתמך עבור vfs.fs.size[/nono] מסומן על ידי הערך "מצב" של 1 והערך הודעת שגיאה במאפיין "ערך".
::: שימו לב חשוב הודעת השגיאה תיחתך ל-2048 סמלים בצד השרת. :::
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.
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). |
Zabbix ייקח עד 16 MB של נתונים מקודדים ב-XML Base64, אבל ערך בודד מפוענח לא צריך להיות יותר מ-64 KB אחרת הוא יהיה להיות קטוע ל-64 KB בזמן הפענוח.