2 תסריטי מאקרו של משתמש

סקירה כללית

בנוסף, פקודות מאקרו של משתמשים נתמכות ב- Zabbix לגמישות רבה יותר לפקודות המאקרו נתמכות מחוץ לקופסא.

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

 {$MACRO}

Zabbix פותר פקודות מאקרו לפי העדיפות הבאה:

  1. פקודות מאקרו ברמת המארח (סומנו תחילה)
  2. פקודות מאקרו שהוגדרו עבור תבניות ברמה הראשונה של המארח (כלומר, תבניות המקושרות ישירות למארח), ממוינות לפי מזהה תבנית
  3. פקודות מאקרו שהוגדרו עבור תבניות ברמה השנייה של המארח, ממוינות לפי מזהה תבנית
  4. פקודות מאקרו שהוגדרו עבור תבניות ברמה שלישית של המארח, ממוינות לפי מזהה תבנית וכו'.
  5. פקודות מאקרו גלובליות (סימון אחרון)

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

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

אם Zabbix לא מצליח למצוא מאקרו, המאקרו לא ייפתר.

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

ניתן להשתמש בפקודות מאקרו של משתמשים ב:

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

It is advisable to use host macros instead of global macros because adding, updating or deleting global macros forces incremental configuration update for all hosts. For more information, see Upgrade notes for 6.4.0.

תצורה

כדי להגדיר פקודות מאקרו של משתמש, עבור אל המיקום המתאים ב-frontend:

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

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

למאקרו משתמש יש את התכונות הבאות:

פרמטר תיאור
מאקרו שם מאקרו. השם חייב להיות עטוף בסוגריים מסולסלים ולהתחיל בסימן דולר.
דוגמה: {$FRONTEND_URL}. התווים הבאים מותרים בשמות המאקרו: A-Z (רק אותיות רישיות) , 0-9 , _ , .
ערך ערך מאקרו. שלושה סוגי ערכים נתמכים:
טקסט (ברירת מחדל) - ערך טקסט רגיל
טקסט סודי - הערך מוסווה בכוכביות, מה שעשוי להיות שימושי להגנה על מידע רגיש כגון סיסמאות או מפתחות משותפים.
סוד הכספת - הערך מכיל נתיב הפניה (כמו 'נתיב:מפתח', לדוגמה "secret/zabbix:password") אל סוד הכספת

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

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

אורך מקסימלי של ערך מאקרו משתמש הוא 2048 תווים (255 תווים בגרסאות לפני 5.2.0).
תיאור שדה טקסט המשמש לספק מידע נוסף על מאקרו זה.

כתובות אתרים המכילות מאקרו סודי לא יפעלו כמאקרו בהם יפתרו כ"******".

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

דוגמאות

דוגמה 1

שימוש במאקרו ברמת המארח במפתח הפריט "סטטוס של דמון SSH":

net.tcp.service[ssh,,{$SSH_PORT}]

ניתן להקצות פריט זה למארחים מרובים, בתנאי שהערך של {$SSH_PORT} מוגדר על אותם מארחים.

דוגמה 2

שימוש במאקרו ברמת המארח בטריגר "עומס המעבד גבוה מדי":

last(/ca_001/system.cpu.load[,avg1])>{$MAX_CPULOAD}

טריגר כזה יווצר על התבנית, לא יערך מארחים בודדים.

אם אתה רוצה להשתמש בכמות הערכים כפונקציה פרמטר (לדוגמה, max(/host/key,#3)), כולל סימן גיבוב הגדרת המאקרו כך: SOME_PERIOD => #3

דוגמה 3

שימוש בשתי פקודות מאקרו בטריגר "עומס המעבד גבוה מדי":

min(/ca_001/system.cpu.load[,avg1],{$CPULOAD_PERIOD})>{$MAX_CPULOAD}

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

דוגמה 4

סנכרן את מצב אי-זמינות הסוכן עם עדכון הפריט הַפסָקָה:

  • הגדר מאקרו {$INTERVAL} והשתמש בו במרווח עדכון הפריט;
  • השתמש ב-{$INTERVAL} כפרמטר של טריגר אי-זמינות הסוכן:

nodata(/ca_001/agent.ping,{$INTERVAL})=1

דוגמה 5

רכז את תצורת שעות העבודה:

  • צור מאקרו גלובלי {$WORKING_HOURS} השווה ל-1-5,09:00-18:00;
  • השתמש בו בשדה זמן עבודה ב-ניהולכלליGUI;
  • השתמש בו בשדה כאשר פעיל ב-ניהולמשתמשכְּלֵי תִקְשׁוֹרֶת;
  • השתמש בו כדי להגדיר סקרים תכופים יותר של פריטים במהלך שעות העבודה:

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

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

  • על אב טיפוס מארח הגדר מאקרו משתמש {$SNMPVALUE} עם {#SNMPVALUE} רמה נמוכה Discovery מאקרו כערך:

  • הקצה תבנית SNMPv2 כללית לאב הטיפוס המארח;
  • השתמש ב-{$SNMPVALUE} בשדה SNMP OID של גנרי SNMPv2 פריטי תבנית.

הקשר מאקרו משתמש

ראה פקודות מאקרו של משתמש עם context.