נספח 1. פירוש עזר

סימון

סוגי מידע

ה-API של Zabbix תומך בסוגי הנתונים הבאים כקלט:

סוג תיאור
boolean ערך בוליאני, מקבל 'true' או 'false'.
flag הערך נחשב ל-'true' אם הוא עבר ואינו שווה ל-'null' ו-'false' אחרת.
מספר שלם מספר שלם.
float מספר נקודה צפה.
string מחרוזת טקסט.
text מחרוזת טקסט ארוכה יותר.
timestamp חותמת זמן של Unix.
מערך רצף מסודר של ערכים, כלומר מערך רגיל.
object מערך אסוציאטיבי.
query ערך שמגדיר אילו נתונים יש להחזיר.

ניתן להגדיר כמערך של שמות מאפיינים כדי להחזיר רק מאפיינים ספציפיים, או כאחד מהערכים המוגדרים מראש:
extend - מחזירה את כל מאפייני האובייקט;
count - מחזירה את מספר הרשומות שאוחזרו, הנתמכות רק על ידי בחירות משנה מסוימות.

::: הערה חשוב Zabbix API תמיד מחזיר ערכים כמחרוזות או מערכים בלבד. :::

תוויות נכס

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

  • לקריאה בלבד - הערך של המאפיין מוגדר אוטומטית ו לא ניתן להגדיר או לשנות על ידי הלקוח;
  • קבוע - ניתן להגדיר את הערך של המאפיין בעת יצירת an אובייקט, אך לא ניתן לשנות אותו לאחר מכן.

ערך מזהה שמור "0"

ערך מזהה שמור "0" יכול לשמש לסינון אלמנטים ולהסרה אובייקטים שהתייחסו אליהם. לדוגמה, כדי להסיר פרוקסי עם הפניה מ-a host, proxy_hostid צריך להיות מוגדר ל-0 ("proxy_hostid": "0") או ל יש להגדיר מארחים מסננים המנוטרים על ידי proxyids של אפשרויות שרת ל-0 ("proxyids": "0").

פרמטרים נפוצים של שיטת "גט".

הפרמטרים הבאים נתמכים על ידי כל שיטות ה-'get':

פרמטר סוג תיאור
countOutput boolean החזר את מספר הרשומות בתוצאה במקום הנתונים בפועל.
editable boolean אם מוגדר כ-'true', החזר רק אובייקטים שאליהם יש למשתמש הרשאות כתיבה.

ברירת מחדל: 'false'.
excludeSearch boolean החזר תוצאות שאינן תואמות את הקריטריונים הניתנים בפרמטר חיפוש.
filter object החזר רק את התוצאות המתאימות במדויק למסנן הנתון.

מקבל מערך, כאשר המפתחות הם שמות מאפיינים, והערכים הם ערך בודד או מערך של ערכים להתאמה.

לא עובד עבור שדות טקסט.
limit integer הגבלת מספר הרשומות המוחזרות.
output query מאפייני אובייקט שיש להחזיר.

ברירת מחדל: להרחיב.
preservekeys boolean השתמש במזהים כמפתחות במערך המתקבל.
search object החזר תוצאות התואמות לחיפוש התווים הכלליים הנתונים (לא תלוי רישיות).

מקבל מערך, כאשר המפתחות הם שמות מאפיינים, והערכים הם מחרוזות לחיפוש. אם לא ניתנות אפשרויות נוספות, זה יבצע חיפוש LIKE "%…%".

פועל רק עבור שדות מחרוזת וטקסט.
searchByAny boolean אם הוגדר כ-'true' תחזיר תוצאות שתואמות לכל אחד מהקריטריונים הניתנים בפרמטר 'filter' או 'search' במקום כולם.

ברירת מחדל: 'false'.
searchWildcardsEnabled boolean אם מוגדר כ-'true' מאפשר את השימוש ב-"*" בתור תו כללי בפרמטר 'search'.

ברירת מחדל: false.
sortfield string/array מיין את התוצאה לפי המאפיינים הנתונים. עיין בתיאור שיטת קבל ספציפי של API עבור רשימה של מאפיינים שניתן להשתמש בהם למיון. פקודות מאקרו אינן מורחבות לפני המיון.

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

ערכים אפשריים הם:
ASC - (ברירת מחדל) עולה;
DESC - יורד.
startSearch boolean הפרמטר search ישווה את תחילת השדות, כלומר, בצע במקום זאת חיפוש LIKE "…%".

התעלם אם searchWildcardsEnabled מוגדר ל-true.

דוגמאות

בדיקת הרשאות משתמש

האם למשתמש יש הרשאה לכתוב למארחים ששמותיהם מתחילים ב "MySQL" או "Linux"?

בַּקָשָׁה:

{
     "jsonrpc": "2.0",
     "method": "host.get",
     "params": {
         "countOutput": נכון,
         "לחפש": {
             "host": ["MySQL", "Linux"]
         },
         "ניתן לעריכה": נכון,
         "startSearch": נכון,
         "searchByAny": נכון
     },
     "auth": "766b71ee543230a1182ca5c44d353e36",
     "מזהה": 1
}

תְגוּבָה:

{
     "jsonrpc": "2.0",
     "result": "0",
     "מזהה": 1
}

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

ספירת אי התאמה

ספור את מספר המארחים ששמותיהם אינם מכילים את המחרוזת המשנה "אובונטו"

בַּקָשָׁה:

{
     "jsonrpc": "2.0",
     "method": "host.get",
     "params": {
         "countOutput": נכון,
         "לחפש": {
             "מארח": "אובונטו"
         },
         "excludeSearch": true
     },
     "auth": "766b71ee543230a1182ca5c44d353e36",
     "מזהה": 1
}

תְגוּבָה:

{
     "jsonrpc": "2.0",
     "result": "44",
     "מזהה": 1
}

חיפוש מארחים באמצעות תווים כלליים

מצא מארחים ששמם מכיל את המילה "שרת" ויש להם יציאות ממשק "10050" או "10071". מיין את התוצאה לפי שם המארח בסדר יורד ו להגביל את זה ל-5 מארחים.

בַּקָשָׁה:

{
     "jsonrpc": "2.0",
     "method": "host.get",
     "params": {
         "output": ["hostid", "host"],
         "selectInterfaces": ["יציאה"],
         "מסנן": {
             "port": ["10050", "10071"]
         },
         "לחפש": {
             "שרת מארח*"
         },
         "searchWildcardsEnabled": true,
         "searchByAny": נכון,
         "sortfield": "מארח",
         "sortorder": "DESC",
         "מגבלה": 5
     },
     "auth": "766b71ee543230a1182ca5c44d353e36",
     "מזהה": 1
}

תְגוּבָה:

{
     "jsonrpc": "2.0",
     "תוצאה": [
         {
             "hostid": "50003",
             "host": "WebServer-Tomcat02",
             "ממשקים": [
                 {
                     "port": "10071"
                 }
             ]
         },
         {
             "hostid": "50005",
             "host": "WebServer-Tomcat01",
             "ממשקים": [
                 {
                     "port": "10071"
                 }
             ]
         },
         {
             "hostid": "50004",
             "host": "WebServer-Nginx",
             "ממשקים": [
                 {
                     "port": "10071"
                 }
             ]
         },
         {
             "hostid": "99032",
             "host": "שרת MySQL 01",
             "ממשקים": [
                 {
                     "port": "10050"
                 }
             ]
         },
         {
             "hostid": "99061",
             "host": "שרת לינוקס 01",
             "ממשקים": [
                 {
                     "port": "10050"
                 }
             ]
         }
     ],
     "מזהה": 1
}

חיפוש מארחים באמצעות תווים כלליים עם "מפתחות שמירה"

אם תוסיף את הפרמטר "preservekeys" לבקשה הקודמת, ה- התוצאה מוחזרת כמערך אסוציאטיבי, כאשר המפתחות הם המזהה של החפצים.

בַּקָשָׁה:

{
     "jsonrpc": "2.0",
     "method": "host.get",
     "params": {
         "output": ["hostid", "host"],
         "selectInterfaces": ["יציאה"],
         "מסנן": {
             "port": ["10050", "10071"]
         },
         "לחפש": {
             "שרת מארח*"
         },
         "searchWildcardsEnabled": true,
         "searchByAny": נכון,
         "sortfield": "מארח",
         "sortorder": "DESC",
         "מגבלה": 5,
         "מפתחות שמירה": נכון
     },
     "auth": "766b71ee543230a1182ca5c44d353e36",
     "מזהה": 1
}

תְגוּבָה:

{
     "jsonrpc": "2.0",
     "תוצאה": {
         "50003": {
             "hostid": "50003",
             "host": "WebServer-Tomcat02",
             "ממשקים": [
                 {
                     "port": "10071"
                 }
             ]
         },
         "50005": {
             "hostid": "50005",
             "host": "WebServer-Tomcat01",
             "ממשקים": [
                 {
                     "port": "10071"
                 }
             ]
         },
         "50004": {
             "hostid": "50004",
             "host": "WebServer-Nginx",
             "ממשקים": [
                 {
                     "port": "10071"
                 }
             ]
         },
         "99032": {
             "hostid": "99032",
             "host": "שרת MySQL 01",
             "ממשקים": [
                 {
                     "port": "10050"
                 }
             ]
         },
         "99061": {
             "hostid": "99061",
             "host": "שרת לינוקס 01",
             "ממשקים": [
                 {
                     "port": "10050"
                 }
             ]
         }
     },
     "מזהה": 1
}