A la secció Alertes → Scripts, es poden configurar i gestionar scripts globals definits per l'usuari.
Els scripts globals, segons l'abast configurat i els permisos de l'usuari, són disponibles per a l'execució:
Els scripts s'executen només a l'agent Zabbix, al servidor Zabbix (proxy) o al servidor Zabbix. Veieu també Execució de comandes.
Els scripts remots de l'agent Zabbix i del proxy Zabbix són desactivats de manera predeterminada. Es poden activar mitjançant:
Es mostra una llista dels scripts existents amb els seus detalls.
Dades mostrades:
Columna | Descripció |
---|---|
Nom | Nom de l'script. En fer clic al nom de l'script s'obre el [formulari de configuració] de l'script (scripts#configuring_a_global_script). |
Àmbit | Àmbit de l'script: operació d'acció, acció manual de l'equip o acció manual d'esdeveniments. Aquesta configuració determina on és disponible l'script. |
S'empra en accions | Es mostren les accions on s'empra l'script. |
Tipus | Es mostra el tipus d'script: comanda Webhook, Script, SSH, Telnet o IPMI. |
Executar a | Es mostra si l'script s'executarà només a l'agent Zabbix, al proxy Zabbix o al servidor Zabbix. |
Comandes | Es mostren totes les ordres que s'han d'executar a l'script. |
Grup d'usuaris | Es mostra el grup d'usuaris per al qual està disponible l'script (o Tot per a tots els grups d'usuaris). |
Grup d'equips | Es mostra el grup d'equip per al qual està disponible l'script (o Tot per a tots els grups d'equip). |
Accés a l'equip | Es mostra el nivell de permís per al grup d'equip: Llegir o Escriure. Només els usuaris amb el nivell de permís necessari tindran accés per executar l'script. |
Per configurar un script nou, feu clic al botó Crea script a l'extrem superior dret.
Un botó a sota de la llista ofereix una opció d'edició massiva:
Per emprar aquesta opció, marqueu les caselles davant dels scripts respectius i feu clic a Esborrar.
Podeu emprar filtres per veure només els scripts que us interessen. Per obtindre un millor rendiment de la cerca, les dades es cerquen amb macros no resoltes.
L'enllaç Filtre és disponible a sobre de la llista d'scripts. Si hi feu clic, hi haurà un filtre disponible i podeu filtrar els scripts per nom i àmbit.
Attributs de l'script:
Paràmetre | Descripció | |
---|---|---|
Nom | Nom únic de l'script. Ex. Busqueu el sistema de fitxers /tmp |
|
Àmbit | Àmbit de l'script: operació d'acció, acció manual de l'equip o acció manual d'esdeveniments. Aquesta configuració determina on es pot emprar l'script: a les comandes remotes d'operacions d'acció, des del menú equips o des del menú d'esdeveniments respectivament. Establir l'abast a "Acció d'operació" fa que l'script sigui disponible per a tots els usuaris amb accés a Configuració → Accions. Si realment s'empra un script en un acció, el seu abast no es pot canviar fora de l'"Acció d'operació". Compatibilitat amb macros L'abast afecta el rang de macros disponibles. Per exemple, les macros relacionades amb l'usuari ({USER.*}) s'admeten als scripts per permetre que es transmeti informació sobre l'usuari que va iniciar l'script. Tanmateix, no s'admeten si l'abast de l'script és una operació d'acció, ja que les operacions d'acció es fan automàticament. Per esbrinar quines macros s'admeten, cerqueu "Notificacions i comandes basades en triggers/comandes basades en triggers", "Scripts d'acció manual de l'equip" i "Scripts d'acció manual d'esdeveniments" a la taula de macros compatibles. Tingueu en compte que si una macro pot resoldre un valor amb espais (per exemple, nom d'equip), cal citar quan sigui necessari. |
|
Camí del menú | Camí del menú desitjat a l'script. Per exemple, Default o Default/ , mostrarà l'script al directori respectiu. Els menús es poden niuar, p. Menú principal/Submenú1/Submenú2 . En accedir als scripts mitjançant el menú d'equip/esdeveniment a les seccions de monitoratge, s'organitzaran segons els directoris donats.Aquest camp només es veu si s'ha triat "Acció manual de l'equip" o "Acció manual de l'esdeveniment" com a Extensió. |
|
Tipus | Feu clic al botó corresponent per seleccionar el tipus d'script: Webhook, Script, SSH, Telnet o [IPMI] (/manual/config/notifications/action/operation/remote_command#ipmi_remote_commands). |
|
Tipus d'script: URL | ||
URL | Especifiqueu l'URL d'accés ràpid del menú d'equips o menú d'esdeveniments. S'admeten macros i macros d'usuari personalitzades. El suport de les macros depèn de l'àmbit de l'script (veieu Àmbit més amunt). Els valors de les macros no han d'ésser codificats per URL. |
|
Obrir a una finestra nova | Si l'URL s'ha d'obrir a una finestra nova o a una pestanya del mateix navegador. | |
Tipus d'script: Webhook | ||
Configuració | Especifiqueu les variables de webhook com a parelles d'atribut-valor. Veieu també: Configuració de mitjans Webhook. Macros i usuari personalitzat són compatibles amb els valors dels paràmetres. La compatibilitat amb les macros depèn de l'abast de l'script (veieu Ambit més amunt). |
|
Script | Introduïu el codi JavaScript al bloc que apareix quan feu clic al camp de paràmetres (o al botó de visualització/edició al costat). El suport de macro depèn de l'abast de l'script (veieu Extensió a dalt). Veieu també: Configuració de mitjans Webhook, Objectes Javascript addicionals. |
|
Temps d'espera | Temps d'espera d'execució de JavaScript (1-60 s, 30 s per defecte). S'admeten sufixos de temps, p. 30 anys, 1m. |
|
Tipus de script: Script | ||
Executar | Feu clic al botó corresponent per executar l'script de l'intèrpret de comandes a: agent Zabbix - l'agent Zabbix executarà l'script (si l'element system.run és permès) a l'equip Servidor Zabbix (proxy) - l'script s'executarà pel servidor o proxy Zabbix (si és activat per EnableRemoteCommands) - depenent de si l'equip és monitorat per un servidor o un proxy servidor Zabbix - l'script només l'executarà el servidor Zabbix |
|
Comandes | Introduïu el camí complet de les comandes que s'han d'executar a l'script. El suport de macro depèn de l'abast de l'script (veieu Àmbit més amunt). S'admeten macros d'usuari personalitzades. |
|
Tipus d'script: SSH | ||
Mètode d'autenticació | Trieu el mètode d'autenticació: mot de pas o clau pública. | |
Nom d'usuari | Introdueix el nom d'usuari. | |
Mot de pas | Introduïu el mot de pas. Aquest camp és disponible si s'ha triat "Mot de pas" com a mètode d'autenticació. |
|
Fitxer de clau pública | Introduïu la ruta al fitxer de clau pública. Aquest camp és disponible si es tria "Clau pública" com a mètode d'autenticació. |
|
Fitxer de clau privada | Introduïu la ruta al fitxer de clau privada. Aquest camp és disponible si es tria "Clau pública" com a mètode d'autenticació. |
|
Clau de pas | Introduïu la frase de pas. Aquest camp és disponible si s'ha triat "Clau pública" com a mètode d'autenticació. |
|
Port | Introduïu el port. | |
Comandes | Introduïu les comandes. El suport de macro depèn de l'abast de l'script (veieu Àmbit més amunt). S'admeten macros d'usuari personalitzades. |
|
Tipus d'script: Telnet | ||
Nom d'usuari | Introduïu el nom d'usuari. | |
Mot de pas | Introduïu el mot de pas. | |
Port | Introduïu el port. | |
Comandes | Introduïu les comandes. El suport de macro depèn de l'abast de l'script (veieu Àmbit més amunt). S'admeten macros d'usuari personalitzades. |
|
Tipus d'script: IPMI | ||
Comandes | Introduïu les comandes IPMI. La compatibilitat amb macros depèn de l'abast de l'script (veieu Ambit més amunt). S'admeten macros d'usuari personalitzades. |
|
Descripció | Introduïu una descripció per a l'script. | |
Grup d'equips | Trieu el grup d'equips per al qual serà disponible l'script (o Tot per a tots els grups d'equips). | |
Grup d'usuaris | Trieu el grup d'usuaris per al qual serà disponible l'script (o Tot per a tots els grups d'usuaris). Aquest camp només apareix si "Acció manual de l'equip" o "Acció manual d'esdeveniment" és triat com a Àmbit. |
|
Permisos d'equip necessaris | Trieu el nivell de permís per al grup d'equip: Lectura o Escriptura. Només els usuaris amb el nivell de permís necessari tindran accés per executar l'script. Aquest camp només es mostra si s'ha triat "Acció manual de l'equip" o "Acció manual d'esdeveniment" com a Àmbit . |
|
Activa la confirmació | Marqueu la casella per mostrar un missatge de confirmació abans d'executar l'script. Aquesta funció pot ser especialment útil amb operacions potencialment perilloses (com un script de reinici) o aquelles que poden trigar molt de temps. Aquesta opció només apareix si s'ha triat com a Àmbit "Acció manual de l'equip" o "Acció manual de l'equip". |
|
Text de confirmació | Introduïu un text de confirmació personalitzat per a la finestra emergent de confirmació activada amb la casella de selecció de dalt (per exemple, El sistema remot es reiniciarà. N'esteu segur?). Per veure com serà el text, feu clic a Confirmació de la prova al costat del camp. S'admeten les macros {HOST.*} i {USER.*}. Les macros d'usuari personalitzades s'admeten. Nota: les macros no s'ampliaran en provar el missatge de confirmació. Aquest camp només es mostra si "Acció manual de l'equip" o L'"Acció d'esdeveniment manual" són triades com a Àmbit. |
Advanced configuration options are available in a collapsible Advanced configuration section:
Parameter | Description |
---|---|
Enable user input | Mark the checkbox to enable manual user input before executing the script. Manual user input will replace the {MANUALINPUT} macro value in the script. See also: Manual user input. |
Input prompt | Enter custom text prompting for custom user input. This text will be displayed above the input field in the Manual input popup. To see a preview of the Manual input popup, click on Test user input. The preview also allows to test if the input string complies with the input validation rule (see parameters below). Macro and user macro support depends on the scope of the script (see Scope in general script configuration parameters). |
Input type | Select the manual input type: String - single string; Dropdown - value is selected from multiple dropdown options. |
Dropdown options | Enter unique values for the user input dropdown in a comma-delimited list. To include an empty option in the dropdown, add an extra comma at the beginning, middle, or end of the list. This field is displayed only if 'Dropdown' is selected as Input type. |
Default input string | Enter the default string for user input (or none). This field will be validated against the regular expression provided in the Input validation rule field. The value entered here will be displayed by default in the Manual input popup. This field is displayed only if 'String' is selected as Input type. |
Input validation rule | Enter a regular expression to validate the user input string. Global regular expressions are supported. This field is displayed only if 'String' is selected as Input type. |
Enable confirmation | Mark the checkbox to display a confirmation message before executing the script. This feature might be especially useful with potentially dangerous operations (like a reboot script) or ones that might take a long time. |
Confirmation text | Enter custom confirmation text for the confirmation popup enabled with the checkbox above (for example, Remote system will be rebooted. Are you sure?). To see how the text will look like, click on Test confirmation next to the field. Macros and custom user macros are supported. Note: the macros will not be expanded when testing the confirmation message. |
If both manual user input and a confirmation message are configured, they will be displayed in consecutive popup windows.
Manual user input allows to supply a custom parameter on each execution of the script. This saves the necessity to create multiple similar user scripts with only a single parameter difference.
For example, you may want to supply a different integer or a different URL address to the script during execution.
To enable manual user input:
With user input enabled, before script execution, a Manual input popup will appear to the user asking to supply a custom value. The supplied value will replace {MANUALINPUT} in the script.
Depending on the configuration, the user will be asked to enter a string value:
Or select the value from a dropdown of pre-determined options:
Manual user input is available only for scripts where the scope is 'Manual host action' or 'Manual event action'.
Els scripts executats pel servidor Zabbix s'executen en l'ordre descrit a la secció Execució de comandes, inclosa la comprovació del codi de sortida. El resultat de l'script es mostrarà en una finestra emergent que apareixerà després de l'execució de l'script.
El valor de retorn de l'script és una sortida estàndard amb error estàndard.
Veieu un exemple d'script i una finestra de resultats a continuació:
La sortida de l'script no ensenya l'script.
Podeu trobar una situació en què es produeixi un temps d'espera durant l'execució d'un script.
Veieu un exemple d'script executat a l'agent Zabbix i la finestra de resultats a continuació:
El missatge d'error en aquest cas és:
Per evitar aquesta situació, és recomanable optimitzar el propi script (en lloc d'ajustar el paràmetre Timeout a un valor corresponent (en el nostre cas, > '5') modificant la configuració de l'agent Zabbix i Configuració del servidor Zabbix).
Si el paràmetre Timeout encara es modifica a la Configuració de l'agent Zabbix, pot aparèixer el missatge d'error següent:
Això vol dir que s'ha fet un canvi a Configuració de l'agent Zabbix i cal canviar el paràmetre Timeout també a Configuració del servidor Zabbix .
Aquí hi ha un script d'exemple executat al servidor Zabbix i la finestra de resultats a continuació:
També és recomanable optimitzar el propi script (en lloc d'ajustar el paràmetre TrapperTimeout a un valor corresponent (en el nostre cas > '11') modificant la Configuració del servidor Zabbix).