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

10 ביצוע פקודה

Zabbix משתמש בפונקציונליות נפוצה עבור בדיקות חיצוניות, פרמטרי משתמש, פריטי system.run, סקריפטים של התראות מותאמות אישית, פקודות מרחוק ומשתמש תסריטים.

שלבי ביצוע

הפקודה/סקריפט מבוצעים באופן דומה גם ב-Unix וגם ב-Windows פלטפורמות:

  1. Zabbix (תהליך האב) יוצר צינור לתקשורת
  2. Zabbix מגדיר את הצינור כפלט לילד שייווצר תהליך
  3. Zabbix יוצר את תהליך הילד (מריץ את הפקודה/סקריפט)
  4. נוצרת עבור קבוצת תהליכים חדשה (ב-Unix) או עבודה (ב-Windows). תהליך הילד
  5. Zabbix קורא מהצינור עד שמתרחש פסק זמן או שאף אחד לא כותב לקצה השני (כל נקודות האחיזה/מתארי הקבצים נסגרו). שימו לב שתהליך הילד יכול ליצור תהליכים נוספים ולצאת לפני שהם יוצאים או סוגרים את הידית/מתאר הקובץ.
  6. אם לא הושג הזמן הקצוב, Zabbix ממתין עד ההתחלה יציאת תהליך הילד או מתרחש פסק זמן
  7. אם תהליך הצאצא הראשוני יצא ופסק הזמן הקצוב לא היה הגיע, Zabbix בודק את קוד היציאה של תהליך הילד הראשוני ו משווה אותו ל-0 (ערך שאינו אפס נחשב ככשל ביצוע, רק עבור סקריפטים של התראות מותאמות אישית, פקודות מרחוק וסקריפטים של משתמש מופעל על שרת Zabbix ו-Proxy Zabbix)
  8. בשלב זה מניחים שהכל נעשה והשלם עץ התהליך (כלומר קבוצת התהליך או העבודה) מסתיים

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

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

צא מבדיקת קוד

קוד יציאה נבדק בתנאים הבאים:

  • רק עבור סקריפטים של התראה מותאמים אישית, פקודות מרחוק וסקריפטים של משתמש מבוצע על שרת Zabbix ו-Proxy Zabbix.
  • כל קוד יציאה השונה מ-0 נחשב כביצוע כישלון.
  • תוכן שגיאת תקן ופלט סטנדרטי עבור ביצועים כושלים נאספים וזמינים ב-frontend (שם תוצאת הביצוע מוצג).
  • נוצרת רישום יומן נוסף עבור פקודות מרחוק בשרת Zabbix כדי לשמור פלט ביצוע סקריפט וניתן להפעיל אותו באמצעות סוכן LogRemoteCommands פרמטר.

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

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

קרא עוד על:

See also