On this page
10 ביצוע פקודה
Zabbix משתמש בפונקציונליות נפוצה עבור בדיקות חיצוניות, פרמטרי משתמש, פריטי system.run, סקריפטים של התראות מותאמות אישית, פקודות מרחוק ומשתמש תסריטים.
שלבי ביצוע
הפקודה/סקריפט מבוצעים באופן דומה גם ב-Unix וגם ב-Windows פלטפורמות:
- Zabbix (תהליך האב) יוצר צינור לתקשורת
- Zabbix מגדיר את הצינור כפלט לילד שייווצר תהליך
- Zabbix יוצר את תהליך הילד (מריץ את הפקודה/סקריפט)
- נוצרת עבור קבוצת תהליכים חדשה (ב-Unix) או עבודה (ב-Windows). תהליך הילד
- Zabbix קורא מהצינור עד שמתרחש פסק זמן או שאף אחד לא כותב לקצה השני (כל נקודות האחיזה/מתארי הקבצים נסגרו). שימו לב שתהליך הילד יכול ליצור תהליכים נוספים ולצאת לפני שהם יוצאים או סוגרים את הידית/מתאר הקובץ.
- אם לא הושג הזמן הקצוב, Zabbix ממתין עד ההתחלה יציאת תהליך הילד או מתרחש פסק זמן
- אם תהליך הצאצא הראשוני יצא ופסק הזמן הקצוב לא היה הגיע, Zabbix בודק את קוד היציאה של תהליך הילד הראשוני ו משווה אותו ל-0 (ערך שאינו אפס נחשב ככשל ביצוע, רק עבור סקריפטים של התראות מותאמות אישית, פקודות מרחוק וסקריפטים של משתמש מופעל על שרת Zabbix ו-Proxy Zabbix)
- בשלב זה מניחים שהכל נעשה והשלם עץ התהליך (כלומר קבוצת התהליך או העבודה) מסתיים
::: שימו לב חשוב Zabbix מניח שפקודה/סקריפט בוצעה עיבוד כאשר תהליך הילד הראשוני יצא ולא אחר התהליך עדיין שומר על ידית הפלט/מתאר הקובץ פתוח. מתי העיבוד נעשה, כל התהליכים שנוצרו מסתיימים. :::
עם כל המרכאות הכפולות והקו נטוי בפקודה קו נטוי אחורי והפקודה מוקפת במירכאות כפולות.
צא מבדיקת קוד
קוד יציאה נבדק בתנאים הבאים:
- רק עבור סקריפטים של התראה מותאמים אישית, פקודות מרחוק וסקריפטים של משתמש מבוצע על שרת Zabbix ו-Proxy Zabbix.
- כל קוד יציאה השונה מ-0 נחשב כביצוע כישלון.
- תוכן שגיאת תקן ופלט סטנדרטי עבור ביצועים כושלים נאספים וזמינים ב-frontend (שם תוצאת הביצוע מוצג).
- נוצרת רישום יומן נוסף עבור פקודות מרחוק בשרת Zabbix כדי לשמור פלט ביצוע סקריפט וניתן להפעיל אותו באמצעות סוכן LogRemoteCommands פרמטר.
הודעות חזית אפשריות ורשומות יומן עבור פקודות/סקריפטים שנכשלו:
- תוכן שגיאת תקן ופלט סטנדרטי עבור ביצועים כושלים (אם בכלל).
- "התהליך יצא עם קוד: N." (לפלט ריק, וקוד יציאה לא שווה ל-0).
- "תהליך נהרג באות: נ." (עבור תהליך שמסתיים על ידי אות, בלינוקס בלבד).
- "התהליך הסתיים באופן בלתי צפוי." (עבור תהליך שהופסק עבור סיבות לא ידועות).
קרא עוד על:
- חיצוני checks
- פרמטרי משתמש
- פריטי system.run
- סקריפטים של התראות מותאמות אישית
- מרחוק פקודות
- גלובלי סקריפטים