עם פקודות מרחוק אתה יכול להגדיר פקודה מסוימת מוגדרת מראש מבוצע אוטומטית על המארח המנוטר בתנאי מסוים.
לפיכך, פקודות מרחוק הן מנגנון רב עוצמה לפרואקטיביות חכמה ניטור.
בשימושים הברורים ביותר של התכונה אתה יכול לנסות:
הגדרת פעולה עבור פקודות מרוחקות דומה לזו עבור שליחה הודעה, ההבדל היחיד הוא ש-Zabix יבצע פקודה במקום לשלוח הודעה.
ניתן לבצע פקודות מרחוק על ידי שרת Zabbix, פרוקסי או סוכן. מְרוּחָק ניתן לבצע פקודות על סוכן Zabbix ישירות על ידי שרת Zabbix או דרך פרוקסי Zabbix. גם בסוכן Zabbix וגם בשלט פרוקסי של Zabbix פקודות מושבתות כברירת מחדל. ניתן להפעיל אותם על ידי:
AllowKey=system.run[*]
בתצורת הסוכן;פקודות מרחוק המבוצעות על ידי שרת Zabbix מופעלות כמתואר ב ביצוע פקודה כולל יציאה בדיקת קוד.
פקודות מרחוק מבוצעות גם אם מארח היעד נמצא בתחזוקה.
מגבלת פקודות מרחוק לאחר פתרון כל פקודות המאקרו תלויה בסוג של מסד נתונים וקבוצת תווים (תווים שאינם ASCII דורשים יותר מאחד בייט לאחסון):
מסד נתונים | הגבלה בתווים | הגבלה בבתים |
MySQL | 65535 | 65535 |
מסד נתונים של אורקל | 2048 | 4000 |
PostgreSQL | 65535 | לא מוגבל |
SQLite (פרוקסי של Zabbix בלבד) | 65535 | לא מוגבל |
המדריך הבא מספק הוראות שלב אחר שלב כיצד להגדיר למעלה פקודות מרחוק.
הפקודות המרוחקות שמבוצעות על סוכן Zabbix (סקריפטים מותאמים אישית) יש להפעיל תחילה בסוכן תצורה.
ודא שהפרמטר AllowKey=system.run[<command>,*] נוסף עבור כל פקודה מותרת בתצורת סוכן כדי לאפשר פקודה ספציפית במצב nowait. הפעל מחדש את ה-agent daemon אם תשנה פרמטר זה.
::: שימו לב חשוב פקודות מרחוק אינן עובדות עם Zabbix פעילה סוכנים. :::
לאחר מכן, בעת הגדרת פעולה חדשה ב-תצורה → פעולות:
כל הסקריפטים (webhook, script, SSH, Telnet, IPMI) הזמינים עבור פעולות הפעולה מוגדרות ב-global סקריפטים.
לדוגמה:
במקרה זה, Zabbix תנסה להפעיל מחדש תהליך Apache. עם זה הפקודה, ודא שהפקודה מבוצעת על סוכן Zabbix (לחץ כפתור הסוכן של Zabbix נגד הפעל ב).
::: שימו לב חשוב שימו לב לשימוש ב-sudo - משתמש Zabbix לא יש הרשאות להפעיל מחדש את שירותי המערכת כברירת מחדל. ראה להלן עבור רמזים כיצד להגדיר את sudo. :::
סוכן Zabbix צריך לפעול על המארח המרוחק ולאשר חיבורים נכנסים. סוכן Zabbix מבצע פקודות פנימה רקע כללי.
פקודות מרחוק על סוכן Zabbix מבוצעות ללא פסק זמן על ידי המפתח system.run[, nowwait] ואינם מסומנים לתוצאות ביצוע. עַל שרת Zabbix ו-Proxy Zabbix, עם פקודות מרחוק מבוצעות פסק זמן כפי שנקבע בפרמטר TrapperTimeout של zabbix_server.conf or zabbix_proxy.conf קובץ והם בדוק עבור תוצאות ביצוע.
ודא שלמשתמש 'zabbix' יש הרשאות הפעלה עבור מוגדרות פקודות. ייתכן שיהיה מעוניין להשתמש ב-sudo כדי לתת גישה אליו פקודות מיוחסות. כדי להגדיר גישה, בצע כ-root:
שורות לדוגמה שניתן להשתמש בהן בקובץ sudoers:
# מאפשר למשתמש 'zabbix' להפעיל את כל הפקודות ללא סיסמה.
zabbix ALL=NOPASSWD: ALL
# מאפשר למשתמש 'zabbix' להפעיל מחדש את אפאצ'י ללא סיסמה.
zabbix ALL=NOPASSWD: /etc/init.d/apache הפעל מחדש
במערכות מסוימות קובץ sudoers ימנע לא-מקומי משתמשים מביצוע פקודות. כדי לשנות זאת, הערה אפשרות דרישה ב-/etc/sudoers.
אם למערכת היעד יש ממשקים מרובים מהסוג הנבחר (סוכן Zabbix או IPMI), פקודות מרחוק יבוצעו כברירת מחדל מִמְשָׁק.
ניתן לבצע פקודות מרחוק באמצעות SSH ו-Telnet באמצעות ממשק אחר מאשר הסוכן של Zabbix. הממשק הזמין ל השימוש נבחר בסדר הבא:
עבור פקודות מרחוק IPMI יש להשתמש בתחביר הבא:
איפה
דוגמאות של גלובל סקריפטים שעשויות לשמש כפקודות מרחוק בפעולות פעולה.
הפעל מחדש את Windows בתנאי מסוים.
על מנת להפעיל מחדש את Windows באופן אוטומטי לאחר בעיה שזוהתה על ידי Zabbix, הגדר את התסריט הבא:
פרמטר סקריפט | ערך |
---|---|
היקף | 'פעולת פעולה' |
הקלד | 'סקריפט' |
פקודה | c:\windows\system32\shutdown.exe -r -f |
הפעל מחדש את המארח באמצעות בקרת IPMI.
פרמטר סקריפט | ערך |
---|---|
היקף | 'פעולת פעולה' |
הקלד | 'IPMI' |
פקודה | איפוס |
כבה את המארח באמצעות בקרת IPMI.
פרמטר סקריפט | ערך |
---|---|
היקף | 'פעולת פעולה' |
הקלד | 'IPMI' |
פקודה | כיבוי |