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

5 משתני משתמש

סקירה כללית

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

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

לפרמטר משתמש יש את התחביר הבא:

 UserParameter=<key>,<command>

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

הפעל מחדש את הסוכן או השתמש בסוכן זמן ריצה control אפשרות לאסוף את פרמטר חדש, ה. ז.:

 zabbix_agentd -R userparameter_reload

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

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

/bin/sh משמש כמתורגמן של שורת פקודה בהפעלה של UNIX מערכות. פרמטרי המשתמש מצייתים לתפוגה של בדיקת הסוכן; אם פסק זמן הוא הגיע תהליך פרמטר המשתמש המפוצל מסתיים.

ראה גם:

דוגמאות לפרמטרים פשוטים של משתמש

פקודה פשוטה:

 UserParameter=ping,echo 1

הסוכן תמיד יחזיר '1' עבור פריט עם מפתח 'פינג'.

דוגמה מורכבת יותר:

 UserParameter=mysql.ping,mysqladmin -uroot ping | grep -c חי

הסוכן יחזיר '1', אם שרת MySQL פעיל, '0' - אחרת.

פרמטרי משתמש גמישים

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

לפרמטרי משתמש גמישים יש את התחביר הבא:

 UserParameter=key[*],פקודה
פרמטר תיאור
מפתח מפתח פריט ייחודי. ה-[*] מגדיר שמפתח זה מקבל פרמטרים בסוגריים.
הפרמטרים ניתנים בעת הגדרת הפריט.
פקודה פקודה שתתבצע כדי להעריך את ערך המפתח.
עבור פרמטרי משתמש גמישים בלבד:
תוכל להשתמש בהפניות מיקום $1…$9 בפקודה כדי להתייחס לפרמטר המתאים ב- מפתח הפריט.
Zabbix מנתח את הפרמטרים הכלולים ב-[] של מפתח הפריט ומחליף את $1,...,$9 בפקודה בהתאם.
$0 יוחלף בפקודה המקורית (לפני ההרחבה של $0,...,$9) להפעלה.
הפניות מיקום מתפרשות ללא קשר אם הן מוקפות בין גרשיים כפולים (") או בודדים (').
כדי להשתמש בהפניות מיקום ללא שינוי, ציין כפולה סימן דולר - לדוגמה, awk '{print $$2}'. במקרה זה $$2 יהפוך למעשה ל-$2 בעת ביצוע הפקודה.

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

::: שימו לב חשוב סמלים מסוימים אינם מותרים בפרמטרים של המשתמש כברירת מחדל. לִרְאוֹת UnsafeUserParameters תיעוד לרשימה מלאה. :::

דוגמה 1

משהו מאוד פשוט:

 UserParameter=ping[*],הדהד $1

אנו עשויים להגדיר מספר בלתי מוגבל של פריטים לניטור כל בעלי פורמט פינג[משהו].

  • ping[0] - תמיד יחזיר '0'
  • ping[aaa] - תמיד יחזיר 'aaa'
דוגמה 2

בואו נוסיף יותר הגיון!

 UserParameter=mysql.ping[*],mysqladmin -u$1 -p$2 פינג | grep -c חי

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

 mysql.ping[zabbix,הסיסמה שלנו]
דוגמה 3

כמה שורות תואמות ביטוי רגולרי בקובץ?

 UserParameter=wc[*],grep -c "$2" $1

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

 wc[/etc/passwd,root]
        wc[/etc/services,zabbix]

תוצאת פקודה

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

::: שימו לב חשוב טקסט (תו, יומן או סוג טקסט של מידע) הפריט לא יהפוך ללא תמיכה במקרה של שגיאת תקן תְפוּקָה. :::

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