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

3 גילוי ברמה נמוכה

סקירה כללית

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

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

הארכיטקטורה הכללית של תהליך הגילוי היא כדלקמן.

ראשית, משתמש יוצר כלל גילוי ב"תצורה" ← "תבניות" ← העמודה "גילוי". כלל גילוי מורכב מ-(1) פריט ש מגלה את הישויות הדרושות (לדוגמה, מערכות קבצים או רשת ממשקים) ו-(2) אבות טיפוס של פריטים, טריגרים וגרפים צריך להיווצר על סמך הערך של אותו פריט.

פריט שמגלה את הישויות הנחוצות הוא כמו פריט רגיל נראה במקומות אחרים: השרת שואל סוכן Zabbix (או כל סוג שהוא הפריט מוגדר ל) עבור ערך של אותו פריט, הסוכן מגיב עם א ערך טקסטואלי. ההבדל הוא שהערך שהסוכן מגיב איתו צריך להכיל רשימה של ישויות שהתגלו בפורמט JSON. בזמן ש הפרטים של פורמט זה חשובים רק למיישמי התאמה אישית בדיקות גילוי, יש צורך לדעת שהערך המוחזר מכיל רשימה של מאקרו → זוגות ערכים. למשל, פריט "net.if.discovery" עשוי להחזיר שני זוגות: "{#IFNAME}" → "lo" ו "{#IFNAME}" → "eth0".

פקודות מאקרו אלו משמשות בשמות, מפתחות ושדות אב טיפוס אחרים שבהם לאחר מכן הם מוחלפים בערכים שהתקבלו ליצירת אמיתי פריטים, טריגרים, גרפים או אפילו מארחים עבור כל ישות שהתגלתה. לִרְאוֹת הרשימה המלאה של אפשרויות לשימוש פקודות מאקרו LLD.

כאשר השרת מקבל ערך עבור פריט גילוי, הוא מסתכל על מאקרו → זוגות ערכים ועבור כל זוג יוצר פריטים אמיתיים, מפעילים, וגרפים, המבוססים על אבות הטיפוס שלהם. בדוגמה עם "net.if.discovery" למעלה, השרת יפיק קבוצה אחת של פריטים, טריגרים, וגרפים עבור ממשק ה-loopback "lo", ועוד סט עבור ממשק "eth0".

שימו לב שמאז Zabbix 4.2, הפורמט של ה-JSON הוחזר על ידי כללי גילוי ברמה נמוכה שונו. זה כבר לא צפוי שה-JSON יכיל את אובייקט ה-"data". גילוי ברמה נמוכה יהיה כעת קבל JSON רגיל המכיל מערך, על מנת לתמוך בחדש תכונות כגון עיבוד מקדים של ערך הפריט ונתיבים מותאמים אישית אל ערכי מאקרו גילוי ברמה נמוכה במסמך JSON.

מפתחות גילוי מובנים עודכנו כדי להחזיר מערך של שורות LLD בשורש מסמך JSON. Zabbix יחלץ אוטומטית מאקרו וערך אם שדה מערך משתמש בתחביר {#MACRO} כמפתח. כל חדש בדיקות גילוי מקוריות ישתמשו בתחביר החדש ללא ה"נתונים" אלמנטים. כאשר מעבדים ערך גילוי ברמה נמוכה ראשית השורש הוא ממוקם (מערך ב-$. או $.data).

אמנם האלמנט "נתונים" הוסר מכל הפריטים המקוריים הקשורים לגילוי, עבור תאימות לאחור Zabbix עדיין יקבל את סימון JSON עם אלמנט "נתונים", אם כי השימוש בו אינו מעודד. אם ה-JSON מכיל אובייקט עם רכיב מערך "data" אחד בלבד, ולאחר מכן הוא יחלץ אוטומטית את תוכן האלמנט באמצעות JSONPath $.data. גילוי ברמה נמוכה מקבל כעת LLD אופציונלי המוגדר על ידי משתמש פקודות מאקרו עם נתיב מותאם אישית שצוין בתחביר JSONPath.

::: הערה אזהרה כתוצאה מהשינויים לעיל, סוכנים חדשים יותר מס ארוך יותר יוכל לעבוד עם שרת Zabbix ישן יותר. :::

ראה גם: ישויות שהתגלו

הגדרת גילוי ברמה נמוכה

נמחיש גילוי ברמה נמוכה על סמך דוגמה של קובץ גילוי מערכת.

כדי להגדיר את הגילוי, בצע את הפעולות הבאות:

  • עבור אל: תצורהתבניות או מארחים
  • לחץ על גילוי בשורה של תבנית/מארח מתאים

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

כלל גילוי

טופס כלל הגילוי מכיל חמש כרטיסיות, המייצגות, משמאל ל נכון, זרימת הנתונים במהלך הגילוי:

  • כלל גילוי - מפרט, והכי חשוב, את הפריט המובנה או סקריפט מותאם אישית לאחזור נתוני גילוי
  • עיבוד מקדים - מחיל עיבוד מקדים על הנתונים שהתגלו
  • פקודות מאקרו LLD - מאפשר לחלץ כמה ערכי מאקרו לשימוש פריטים שהתגלו, טריגרים וכו'
  • מסננים - מאפשר לסנן את הערכים שהתגלו
  • עוקף - מאפשר לשנות פריטים, טריגרים, גרפים או מארח אבות טיפוס בעת יישום על אובייקטים שהתגלו ספציפיים

הכרטיסייה כלל גילוי מכילה את מפתח הפריט לשימוש לגילוי (כמו גם כמה מאפיינים כלליים של כלל גילוי):

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

פרמטר תיאור
שם שם כלל הגילוי.
Type סוג הבדיקה לביצוע גילוי.
בדוגמה זו אנו משתמשים במפתח פריט Zabbix agent.
כלל הגילוי יכול להיות גם פריט תלוי, בהתאם לפריט רגיל. זה לא יכול להיות תלוי בכלל גילוי אחר. עבור פריט תלוי, בחר את הסוג המתאים (פריט תלוי) וציין את פריט האב בשדה 'פריט ראשי'. פריט המאסטר חייב להתקיים.
Key הזן את מפתח פריט הגילוי (עד 2048 תווים).
לדוגמה, תוכל להשתמש במפתח הפריט המובנה "vfs.fs.discovery" כדי להחזיר JSON עם רשימת מערכות הקבצים הקיימות במחשב ובסוגיו.
שים לב שאופציה נוספת לגילוי מערכת קבצים היא שימוש בתוצאות גילוי באמצעות מפתח הסוכן "vfs.fs.get", שנתמך מאז Zabbix 4.4.5 (ראה דוגמה).
מרווח עדכון שדה זה מציין באיזו תדירות Zabbix מבצע גילוי. בהתחלה, כשאתה רק מגדיר גילוי מערכת קבצים, אולי תרצה להגדיר את זה למרווח קטן, אבל ברגע שאתה יודע שזה עובד אתה יכול להגדיר את זה ל-30 דקות או יותר, מכיוון שמערכות קבצים בדרך כלל לא משתנות לעתים קרובות. .
סיומות זמן נתמכות, למשל. 30s, 1m, 2h, 1d, מאז Zabbix 3.4.0.
פקודות מאקרו משתמש נתמכות, מאז Zabbix 3.4.0.
הערה: מרווח העדכון ניתן להגדיר ל-'0' רק אם קיימים מרווחים מותאמים אישית עם ערך שאינו אפס. אם מוגדר ל-'0', וקיים מרווח מותאם אישית (גמיש או מתוזמן) עם ערך שאינו אפס, הפריט יישאל במהלך משך המרווח המותאם אישית.
שים לב שלכלל גילוי קיים, הגילוי יכול להתבצע באופן מיידי על ידי לחיצה על הלחצן בדוק עכשיו (#form_buttons).
מרווחים מותאמים אישית ניתן ליצור כללים מותאמים אישית לבדיקת הפריט:
גמיש - צור חריגה למרווח העדכון (מרווח בתדירות שונה)
תזמון - צור לוח זמנים מותאם אישית של סקרים.
למידע מפורט ראה מרווחים מותאמים אישית. תזמון נתמך מאז Zabbix 3.0.0.
תקופת שמור משאבים אבודים שדה זה מאפשר לך לציין את משך הזמן שבו הישות שהתגלתה תישמר (לא תימחק) ברגע שסטטוס הגילוי שלה יהפוך ל"לא התגלה יותר" (בין שעה ל-25 שנים; או "0").
סיומות זמן נתמכות, למשל. 2h, 1d, מאז Zabbix 3.4.0.
פקודות מאקרו משתמש נתמכות, מאז Zabbix 3.4.0.
הערה: אם מוגדר ל-"0", ישויות יימחקו לאלתר. השימוש ב-"0" אינו מומלץ, שכן רק עריכה שגויה של המסנן עלולה להסתיים במחיקה של הישות עם כל הנתונים ההיסטוריים.
תיאור הזן תיאור.
מופעל אם מסומן, הכלל יעובד.

היסטוריית כללי הגילוי אינה נשמרת.

כלל גילוי

טופס כלל הגילוי מכיל חמש כרטיסיות, המייצגות, משמאל ל נכון, זרימת הנתונים במהלך הגילוי:

  • כלל גילוי - מפרט, והכי חשוב, את הפריט המובנה או סקריפט מותאם אישית לאחזור נתוני גילוי
  • עיבוד מקדים - מחיל עיבוד מקדים על הנתונים שהתגלו
  • פקודות מאקרו LLD - מאפשר לחלץ כמה ערכי מאקרו לשימוש פריטים שהתגלו, טריגרים וכו'
  • מסננים - מאפשר לסנן את הערכים שהתגלו
  • עוקף - מאפשר לשנות פריטים, טריגרים, גרפים או מארח אבות טיפוס בעת יישום על אובייקטים שהתגלו ספציפיים

הכרטיסייה כלל גילוי מכילה את מפתח הפריט לשימוש לגילוי (כמו גם כמה מאפיינים כלליים של כלל גילוי):

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

פרמטר תיאור
שם שם כלל הגילוי.
Type סוג הבדיקה לביצוע גילוי.
בדוגמה זו אנו משתמשים במפתח פריט Zabbix agent.
כלל הגילוי יכול להיות גם פריט תלוי, בהתאם לפריט רגיל. זה לא יכול להיות תלוי בכלל גילוי אחר. עבור פריט תלוי, בחר את הסוג המתאים (פריט תלוי) וציין את פריט האב בשדה 'פריט ראשי'. פריט המאסטר חייב להתקיים.
Key הזן את מפתח פריט הגילוי (עד 2048 תווים).
לדוגמה, תוכל להשתמש במפתח הפריט המובנה "vfs.fs.discovery" כדי להחזיר JSON עם רשימת מערכות הקבצים הקיימות במחשב ובסוגיו.
שים לב שאופציה נוספת לגילוי מערכת קבצים היא שימוש בתוצאות גילוי באמצעות מפתח הסוכן "vfs.fs.get", שנתמך מאז Zabbix 4.4.5 (ראה דוגמה).
מרווח עדכון שדה זה מציין באיזו תדירות Zabbix מבצע גילוי. בהתחלה, כשאתה רק מגדיר גילוי מערכת קבצים, אולי תרצה להגדיר את זה למרווח קטן, אבל ברגע שאתה יודע שזה עובד אתה יכול להגדיר את זה ל-30 דקות או יותר, מכיוון שמערכות קבצים בדרך כלל לא משתנות לעתים קרובות. .
סיומות זמן נתמכות, למשל. 30s, 1m, 2h, 1d, מאז Zabbix 3.4.0.
פקודות מאקרו משתמש נתמכות, מאז Zabbix 3.4.0.
הערה: מרווח העדכון ניתן להגדיר ל-'0' רק אם קיימים מרווחים מותאמים אישית עם ערך שאינו אפס. אם מוגדר ל-'0', וקיים מרווח מותאם אישית (גמיש או מתוזמן) עם ערך שאינו אפס, הפריט יישאל במהלך משך המרווח המותאם אישית.
שים לב שלכלל גילוי קיים, הגילוי יכול להתבצע באופן מיידי על ידי לחיצה על הלחצן בדוק עכשיו (#form_buttons).
מרווחים מותאמים אישית ניתן ליצור כללים מותאמים אישית לבדיקת הפריט:
גמיש - צור חריגה למרווח העדכון (מרווח בתדירות שונה)
תזמון - צור לוח זמנים מותאם אישית של סקרים.
למידע מפורט ראה מרווחים מותאמים אישית. תזמון נתמך מאז Zabbix 3.0.0.
תקופת שמור משאבים אבודים שדה זה מאפשר לך לציין את משך הזמן שבו הישות שהתגלתה תישמר (לא תימחק) ברגע שסטטוס הגילוי שלה יהפוך ל"לא התגלה יותר" (בין שעה ל-25 שנים; או "0").
סיומות זמן נתמכות, למשל. 2h, 1d, מאז Zabbix 3.4.0.
פקודות מאקרו משתמש נתמכות, מאז Zabbix 3.4.0.
הערה: אם מוגדר ל-"0", ישויות יימחקו לאלתר. השימוש ב-"0" אינו מומלץ, שכן רק עריכה שגויה של המסנן עלולה להסתיים במחיקה של הישות עם כל הנתונים ההיסטוריים.
תיאור הזן תיאור.
מופעל אם מסומן, הכלל יעובד.

היסטוריית כללי הגילוי אינה נשמרת.

פקודות מאקרו מותאמות אישית

הכרטיסייה פקודות מאקרו LLD מאפשרת לציין גילוי מותאם אישית ברמה נמוכה פקודות מאקרו.

פקודות מאקרו מותאמות אישית שימושיות במקרים שבהם אין ל-JSON המוחזר פקודות המאקרו הנדרשות כבר מוגדרות. אז, למשל:

  • מפתח vfs.fs.discovery המקורי לגילוי מערכת קבצים מחזיר א JSON עם כמה פקודות מאקרו LLD מוגדרות מראש כגון {#FSNAME}, {#FSTYPE}. ניתן להשתמש בפקודות מאקרו אלו בפריט, טריגר אבות טיפוס (ראה חלקים הבאים של הדף) ישירות; הגדרת מנהג אין צורך בפקודות מאקרו;
  • פריט הסוכן vfs.fs.get מחזיר גם JSON עם מערכת קבצים data, אך ללא פקודות מאקרו LLD מוגדרות מראש. במקרה זה אתה יכול להגדיר את פקודות המאקרו בעצמך, ומפה אותן לערכים ב-JSON באמצעות JSONPath:

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

פרמטר תיאור
LLD macro שם מאקרו הגילוי ברמה נמוכה, תוך שימוש בתחביר הבא: {#MACRO}.
JSONPath נתיב המשמש לחילוץ ערך מאקרו LLD משורת LLD, באמצעות תחביר JSONPath.
לדוגמה, $.foo יחלץ "bar" ו-"baz" מה-JSON הזה: [{ "foo":"bar"}, {"foo":"baz"}]
הערכים שחולצו מה-JSON המוחזר משמשים להחלפת פקודות המאקרו של LLD בשדות אב-טיפוס של פריט, טריגר וכו'.
ניתן לציין JSONPath באמצעות סימון הנקודות או סימון הסוגר. יש להשתמש בסימון סוגריים במקרה של תווים מיוחדים ו-Unicode, כמו $['unicode + תווים מיוחדים #1']['unicode + תווים מיוחדים #2'].

מסנן

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

פרמטר תיאור
סוג החישוב האפשרויות הבאות לחישוב מסננים זמינות:
ו - יש לעבור את כל המסננים;
או - מספיק אם מסנן אחד עובר;
And/Or - משתמש ב-And* עם שמות מאקרו שונים ו-Or עם אותו שם מאקרו;
ביטוי מותאם אישית - מציע אפשרות להגדיר חישוב מותאם אישית של מסננים. הנוסחה חייבת לכלול את כל המסננים ברשימה. מוגבל ל-255 סמלים.
מסננים האופרטורים הבאים של תנאי הסינון זמינים: תואם, לא תואם, קיים, לא קיים.
מתאימות ו-לא תואם אופרטורים מצפים ל-[Perl] ביטוי רגולרי תואם](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) (PCRE). לדוגמה, אם אתה מעוניין רק במערכות קבצים C:, D: ו-E:, תוכל להכניס את {#FSNAME} ל-"Macro" ו-"^C|^D|^E" רגיל ביטוי לשדות טקסט "ביטוי רגולרי". סינון אפשרי גם לפי סוגי מערכת קבצים באמצעות מאקרו {#FSTYPE} (למשל "^ext|^reiserfs") ולפי סוגי כוננים (נתמכים רק על ידי סוכן Windows) באמצעות מאקרו {#FSDRIVETYPE} (למשל, " קבוע").
תוכל להזין ביטוי רגולרי או להפנות לביטוי רגולרי גלובלי בשדה "ביטוי רגולרי".
כדי לבדוק ביטוי רגולרי אתה יכול להשתמש ב-"grep - E", לדוגמה: עבור f ב-ext2 nfs reiserfs smbfs; לעשות הד $f | grep -E '^ext|^reiserfs' || echo "SKIP: $f"; done

מאקרו {#FSDRIVETYPE} ב-Windows נתמך מאז Zabbix 3.0.0.

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

תוצג אזהרה, אם היעדר מאקרו משפיע על תוצאת ביטוי. לדוגמה, אם חסר {#B} ב:
{#A} תואמים 1 ו-{#B} תואמים 2 - יתן אזהרה
{#A} תואמים 1 או {#B} תואמים 2 - אין אזהרה.
לוגיקת אזהרה גמישה זו נתמכת מאז Zabbix 6.0.11.

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

::: שימו לב חשוב יש ליצור מסד נתונים של Zabbix ב-MySQL כ תלוי רישיות אם שמות מערכת הקבצים שונים רק לפי רישיות גילה נכון. :::

מסנן

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

פרמטר תיאור
סוג החישוב האפשרויות הבאות לחישוב מסננים זמינות:
ו - יש לעבור את כל המסננים;
או - מספיק אם מסנן אחד עובר;
And/Or - משתמש ב-And* עם שמות מאקרו שונים ו-Or עם אותו שם מאקרו;
ביטוי מותאם אישית - מציע אפשרות להגדיר חישוב מותאם אישית של מסננים. הנוסחה חייבת לכלול את כל המסננים ברשימה. מוגבל ל-255 סמלים.
מסננים האופרטורים הבאים של תנאי הסינון זמינים: תואם, לא תואם, קיים, לא קיים.
מתאימות ו-לא תואם אופרטורים מצפים ל-[Perl] ביטוי רגולרי תואם](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) (PCRE). לדוגמה, אם אתה מעוניין רק במערכות קבצים C:, D: ו-E:, תוכל להכניס את {#FSNAME} ל-"Macro" ו-"^C|^D|^E" רגיל ביטוי לשדות טקסט "ביטוי רגולרי". סינון אפשרי גם לפי סוגי מערכת קבצים באמצעות מאקרו {#FSTYPE} (למשל "^ext|^reiserfs") ולפי סוגי כוננים (נתמכים רק על ידי סוכן Windows) באמצעות מאקרו {#FSDRIVETYPE} (למשל, " קבוע").
תוכל להזין ביטוי רגולרי או להפנות לביטוי רגולרי גלובלי בשדה "ביטוי רגולרי".
כדי לבדוק ביטוי רגולרי אתה יכול להשתמש ב-"grep - E", לדוגמה: עבור f ב-ext2 nfs reiserfs smbfs; לעשות הד $f | grep -E '^ext|^reiserfs' || echo "SKIP: $f"; done

מאקרו {#FSDRIVETYPE} ב-Windows נתמך מאז Zabbix 3.0.0.

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

תוצג אזהרה, אם היעדר מאקרו משפיע על תוצאת ביטוי. לדוגמה, אם חסר {#B} ב:
{#A} תואמים 1 ו-{#B} תואמים 2 - יתן אזהרה
{#A} תואמים 1 או {#B} תואמים 2 - אין אזהרה.
לוגיקת אזהרה גמישה זו נתמכת מאז Zabbix 6.0.11.

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

::: שימו לב חשוב יש ליצור מסד נתונים של Zabbix ב-MySQL כ תלוי רישיות אם שמות מערכת הקבצים שונים רק לפי רישיות גילה נכון. :::

כפתורי טופס

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

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

ישויות שהתגלו

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

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

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

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

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

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

סוגים אחרים של גילוי

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

לפרטים נוספים על פורמט JSON עבור פריטי גילוי ודוגמה של כיצד ליישם את מגלה מערכת הקבצים שלך כסקריפט Perl, ראה יצירת כללי LLD מותאמים אישית.

יצירת כללי LLD מותאמים אישית

אפשר גם ליצור כלל LLD מותאם אישית לחלוטין, לגלות כל סוג של ישויות - למשל, מסדי נתונים על שרת מסד נתונים.

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

פורמט JSON הנדרש מומחש בצורה הטובה ביותר עם דוגמה. נניח שאנחנו מפעילים סוכן Zabbix 1.8 ישן (כזה שאינו תומך "vfs.fs.discovery"), אבל אנחנו עדיין צריכים לגלות מערכות קבצים. הנה סקריפט פשוט של Perl עבור לינוקס שמגלה מערכות קבצים רכובות ו פלט JSON, הכולל גם שם וגם סוג של מערכת הקבצים. דרך אחת ל השימוש בו יהיה כ-UserParameter עם המפתח "vfs.fs.discovery_perl":

#!/usr/bin/perl
       
       $first = 1;
       
       הדפס "[\n";
       
       עבור (`cat /proc/mounts`)
       {
            ($fsname, $fstype) = m/\S+ (\S+) (\S+)/;
       
            הדפס "\t,\n" אם לא $first;
            $first = 0;
       
            הדפס "\t{\n";
            הדפס "\t\t\"{#FSNAME}\":\"$fsname\",\n";
            הדפס "\t\t\"{#FSTYPE}\":\"$fstype\"\n";
            הדפס "\t}\n";
       }
       
       הדפס "]\n";

::: שימו לב חשוב הסמלים המותרים עבור שמות מאקרו LLD הם 0-9 , א-ת , _ , .

אותיות קטנות אינן נתמכות בשמות. :::

דוגמה לפלט שלו (פורמט מחדש לצורך הבהירות) מוצגת להלן. JSON עבור בדיקות גילוי מותאמות אישית חייב לפעול באותו פורמט.

[
            { "{#FSNAME}":"/", "{#FSTYPE}":"rootfs" },
            { "{#FSNAME}":"/sys", "{#FSTYPE}":"sysfs" },
            { "{#FSNAME}":"/proc", "{#FSTYPE}":"proc" },
            { "{#FSNAME}":"/dev", "{#FSTYPE}":"devtmpfs" },
            { "{#FSNAME}":"/dev/pts", "{#FSTYPE}":"devpts" },
            { "{#FSNAME}":"/lib/init/rw", "{#FSTYPE}":"tmpfs" },
            { "{#FSNAME}":"/dev/shm", "{#FSTYPE}":"tmpfs" },
            { "{#FSNAME}":"/home", "{#FSTYPE}":"ext3" },
            { "{#FSNAME}":"/tmp", "{#FSTYPE}":"ext3" },
            { "{#FSNAME}":"/usr", "{#FSTYPE}":"ext3" },
            { "{#FSNAME}":"/var", "{#FSTYPE}":"ext3" },
            { "{#FSNAME}":"/sys/fs/fuse/connections", "{#FSTYPE}":"fusectl" }
       ]

בדוגמה הקודמת נדרש שהמפתחות יתאימו למאקרו LLD שמות המשמשים באבות טיפוס, החלופה היא לחלץ ערכי מאקרו LLD באמצעות JSONPath {#FSNAME}$.fsname ו-{#FSTYPE}$.fstype, ובכך מאפשר תסריט כזה:

#!/usr/bin/perl
        
       $first = 1;
        
       הדפס "[\n";
        
       עבור (`cat /proc/mounts`)
       {
            ($fsname, $fstype) = m/\S+ (\S+) (\S+)/;
        
            הדפס "\t,\n" אם לא $first;
            $first = 0;
        
            הדפס "\t{\n";
            הדפס "\t\t\"fsname\":\"$fsname\",\n";
            הדפס "\t\t\"fstype\":\"$fstype\"\n";
            הדפס "\t}\n";
       }
        
       הדפס "]\n";

דוגמה לפלט שלו (פורמט מחדש לצורך הבהירות) מוצגת להלן. JSON עבור בדיקות גילוי מותאמות אישית חייב לפעול באותו פורמט.

[
            { "fsname":"/", "fstype":"rootfs" },
            { "fsname":"/sys", "fstype":"sysfs" },
            { "fsname":"/proc", "fstype":"proc" },
            { "fsname":"/dev", "fstype":"devtmpfs" },
            { "fsname":"/dev/pts", "fstype":"devpts" },
            { "fsname":"/lib/init/rw", "fstype":"tmpfs" },
            { "fsname":"/dev/shm", "fstype":"tmpfs" },
            { "fsname":"/home", "fstype":"ext3" },
            { "fsname":"/tmp", "fstype":"ext3" },
            { "fsname":"/usr", "fstype":"ext3" },
            { "fsname":"/var", "fstype":"ext3" },
            { "fsname":"/sys/fs/fuse/connections", "fstype":"fusectl" }
       ]

לאחר מכן, בשדה "מסנן" של כלל הגילוי, נוכל לציין "{#FSTYPE}" כמאקרו ו-"rootfs|ext3" כביטוי רגולרי.

אינך חייב להשתמש בשמות מאקרו FSNAME/FSTYPE עם מותאם אישית חוקי LLD, אתה חופשי להשתמש בכל שמות שאתה אוהב. במקרה של JSONPath משמש אז שורה LLD תהיה אלמנט מערך שיכול להיות אובייקט, אבל זה יכול להיות גם מערך אחר או ערך.

שימו לב שאם משתמשים בפרמטר משתמש, ערך ההחזרה מוגבל ל-512 KB. לפרטים נוספים, ראה מגבלות נתונים עבור החזרת LLD ערכים.