[comment]: # translation:outdated

[comment]: # ({542796d3-542796d3})
# 8 סקריפטים

[comment]: # ({/542796d3-542796d3})

[comment]: # ({dba437aa-58923c7d})
#### סקירה כללית

בקטע *ניהול → סקריפטים* סקריפטים גלובליים המוגדרים על ידי המשתמש
ניתן להגדיר ולתחזק.

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

- מה[מארח
     menu](/manual/web_interface/frontend_sections/monitoring/dashboard#host_menu)
     במיקומי חזית שונים (*לוח מחוונים*, *בעיות*, *האחרון
     נתונים*, *מפות* וכו')
- מתוך [אירוע
     menu](/manual/web_interface/frontend_sections/monitoring/problems#event_menu)
- ניתן להפעיל כפעולת פעולה

הסקריפטים מבוצעים על סוכן Zabbix, שרת Zabbix (פרוקסי) או
שרת Zabbix בלבד. ראה גם [פקודה
ביצוע](/manual/appendix/command_execution).

גם ב-Zabbix Agent וגם ב-Zabbix proxy מרחוק סקריפטים מושבתים על ידי
בְּרִירַת מֶחדָל. ניתן להפעיל אותם על ידי:

- עבור פקודות מרחוק המבוצעות על סוכן Zabbix
     - הוספת פרמטר AllowKey=system.run[<command>,\*] עבור כל פקודה מותרת בתצורת סוכן, \* מייצג מצב wait and nowait;
- עבור פקודות מרחוק המבוצעות ב-Proxy Zabbix
     - **אזהרה: אין צורך להפעיל פקודות מרוחקות ב-Proxy של Zabbix אם פקודות מרוחקות מבוצעות על-ידי סוכן Zabbix שמפוקח על-ידי ה-Proxy של Zabbix.** אם, לעומת זאת, הוא נדרש לבצע פקודות מרחוק ב-Zabbix proxy,
     הגדר את הפרמטר *EnableRemoteCommands* ל'1' בתצורת ה-proxy.
    
מוצגת רשימה של סקריפטים קיימים עם הפרטים שלהם.

![](../../../../../assets/en/manual/web_interface/scripts.png){width="600"}

נתונים המוצגים:

|עמודה|תיאור|
|--|--------|
|*שם*|שם התסריט. לחיצה על שם הסקריפט פותחת את הסקריפט [טופס תצורה](scripts#configuring_a_global_script).|
|*Scope*|היקף התסריט - פעולת פעולה, פעולת מארח ידנית או פעולת אירוע ידנית. הגדרה זו קובעת היכן הסקריפט זמין.|
|*בשימוש בפעולות*|מוצגות פעולות שבהן נעשה שימוש בסקריפט.|
|*סוג*|מוצג סוג הסקריפט - פקודת *Webhook*, *Script*, *SSH*, *Telnet* או *IPMI*.|
|*הפעל ב*|מוצג אם הסקריפט יבוצע על סוכן Zabbix, שרת Zabbix (פרוקסי) או שרת Zabbix בלבד.|
|*פקודות*|כל הפקודות שיש לבצע בתוך הסקריפט מוצגות.|
|*קבוצת משתמשים*|קבוצת המשתמשים שהסקריפט זמין לה מוצגת (או *הכל* עבור כל קבוצות המשתמשים).|
|*קבוצת מארח*|הקבוצה המארחת שהסקריפט זמין עבורה מוצגת (או *הכל* עבור כל קבוצות המארחים).|
|*גישת מארח*|רמת ההרשאה עבור הקבוצה המארחת מוצגת - *קריאה* או *כתיבה*. רק למשתמשים עם רמת ההרשאה הנדרשת תהיה גישה לביצוע הסקריפט.|

כדי להגדיר סקריפט חדש, לחץ על הלחצן *צור סקריפט* ב-
בפינה הימנית העליונה.

[comment]: # ({/dba437aa-58923c7d})

[comment]: # ({44c45ea0-44c45ea0})
##### אפשרויות עריכה המונית

כפתור מתחת לרשימה מציע אפשרות אחת לעריכה המונית:

- *מחק* - מחק את הסקריפטים

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

[comment]: # ({/44c45ea0-44c45ea0})

[comment]: # ({1c5dd978-1c5dd978})
##### באמצעות מסנן

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

הקישור *מסנן* זמין מעל רשימת הסקריפטים. אם תלחץ
על זה, מסנן הופך זמין שבו אתה יכול לסנן סקריפטים לפי שם
והיקף.

![](../../../../../assets/en/manual/web_interface/script_filter.png){width="600"}

[comment]: # ({/1c5dd978-1c5dd978})

[comment]: # ({42f51d5e-201a0633})
##### באמצעות מסנן

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

הקישור *מסנן* זמין מעל רשימת הסקריפטים. אם תלחץ
על זה, מסנן הופך זמין שבו אתה יכול לסנן סקריפטים לפי שם
והיקף.

![](../../../../../assets/en/manual/web_interface/script_filter.png){width="600"}

[comment]: # ({/42f51d5e-201a0633})

[comment]: # ({ca68e16a-ca68e16a})
#### ביצוע ותוצאה של סקריפט

סקריפטים המופעלים על ידי שרת Zabbix מבוצעים לפי הסדר המתואר ב
[ביצוע פקודה](/manual/appendix/command_execution).
כולל בדיקת קוד יציאה. תוצאת הסקריפט תוצג ב-a
חלון מוקפץ שיופיע לאחר הפעלת הסקריפט.

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

ראה דוגמה של סקריפט ואת חלון התוצאה שלהלן:

     uname -v
     /tmp/non_existing_script.sh
     echo "הסקריפט הזה הוחל על ידי {USER.USERNAME}"

![](../../../../../assets/en/manual/web_interface/frontend_sections/administration/script_result.png)

תוצאת הסקריפט אינה מציגה את הסקריפט עצמו.

[comment]: # ({/ca68e16a-ca68e16a})

[comment]: # ({96d6e598-96d6e598})
#### פסק זמן של הסקריפט

[comment]: # ({/96d6e598-96d6e598})

[comment]: # ({5b600786-5b600786})
##### סוכן Zabbix

אתה עלול להיתקל במצב שבו מתרחש פסק זמן בזמן ביצוע א
תַסרִיט.

ראה דוגמה של סקריפט הפועל על סוכן Zabbix ואת חלון התוצאה
לְהַלָן:

     לישון 5
     df -h

![](../../../../../assets/en/manual/web_interface/frontend_sections/administration/script_timeout_1.png)

הודעת השגיאה, במקרה זה, היא הבאה:

     פסק זמן בזמן ביצוע סקריפט מעטפת.

על מנת להימנע ממצב כזה, מומלץ לבצע אופטימיזציה של התסריט
עצמו (במקום להתאים את פרמטר Timeout לערך מתאים
(במקרה שלנו, > '5') על ידי שינוי [סוכן Zabbix
תצורה](/manual/appendix/config/zabbix_agentd) ו-[שרת Zabbix
תצורה](/manual/appendix/config/zabbix_server)).

במקרה שעדיין ישתנה פרמטר הזמן הקצוב ב-[סוכן Zabbix
תצורה](/manual/appendix/config/zabbix_agentd) בעקבות השגיאה
מופיעה הודעה:

     קבלת הערך מהסוכן נכשלה: תם הזמן הקצוב של ZBX_TCP_READ().

זה אומר שבוצע שינוי ב-[סוכן Zabbix
תצורה](/manual/appendix/config/zabbix_agentd) וזה נדרש
כדי לשנות את הגדרת הזמן הקצוב גם ב-[שרת Zabbix
תצורה](/manual/appendix/config/zabbix_server).

[comment]: # ({/5b600786-5b600786})

[comment]: # ({0b38e381-0b38e381})
##### שרת/פרוקסי של Zabbix

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

     לישון 11
     df -h

![](../../../../../assets/en/manual/web_interface/frontend_sections/administration/script_timeout_3.png)

כמו כן, מומלץ לבצע אופטימיזציה של הסקריפט עצמו (במקום להתאים
פרמטר TrapperTimeout לערך מתאים (במקרה שלנו, >
'11') על ידי שינוי [שרת Zabbix
תצורה](/manual/appendix/config/zabbix_server)).

[comment]: # ({/0b38e381-0b38e381})
