Áú»¢¶Ä²©

3 Scripts

Vista general

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¨®:

  • des del men¨² de l'equip a diverses ubicacions d'interf¨ªcie (Taulers de control, Problemes, Dades m¨¦s recents, Mapes, etc.)
  • des del men¨² d'esdeveniments
  • es pot executar com una operaci¨® d'acci¨®

Els scripts s'executen nom¨¦s a l'agent Áú»¢¶Ä²©, al servidor Áú»¢¶Ä²© (proxy) o al servidor Áú»¢¶Ä²©. Veieu tamb¨¦ Execuci¨® de comandes.

Els scripts remots de l'agent Áú»¢¶Ä²© i del proxy Áú»¢¶Ä²© s¨®n desactivats de manera predeterminada. Es poden activar mitjan?ant:

  • Comandes remotes executades a l'agent Áú»¢¶Ä²©
    • afegint un par¨¤metre AllowKey=system.run[<command>,*] per a cada ordre autoritzada a la configuraci¨® de l'agent, * representa el mode wait i nowait;
  • Comandes remotes executades al proxy Áú»¢¶Ä²©
    • Av¨ªs: no cal habilitar comandes remotes al proxy Áú»¢¶Ä²© si s'executen comandes remotes a l'agent Áú»¢¶Ä²© monitorat pel proxy Áú»¢¶Ä²©. Si, tanmateix, ¨¦s necessari executar comandes remotes al proxy Áú»¢¶Ä²©, establiu el par¨¤metre EnableRemoteCommands a '1' a la configuraci¨® del proxy.

L'execuci¨® d'scripts globals a Áú»¢¶Ä²© es pot deshabilitar definint la variable EnableGlobalScripts=0 a la configuraci¨® del servidor. Per a instal¡¤lacions noves, des de Áú»¢¶Ä²© 7.0, l'execuci¨® d'scripts globals al servidor Áú»¢¶Ä²© ¨¦s deshabilitada per defecte.

Es mostra una llista dels scripts existents amb els seus detalls.

Dades mostrades:

Columna ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®
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 S'hi veuen totes les accions on s'empra l'script, (des de Áú»¢¶Ä²© 7.0.4) precedides del nombre total d'aquestes accions.
Fer clic al nom de l'acci¨® s'obre el formulari de configuraci¨® de l'acci¨®. Si l'usuari no t¨¦ permisos per a l'acci¨®, no es pot fer clic al nom.
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 Áú»¢¶Ä²©, al proxy Áú»¢¶Ä²© o al servidor Áú»¢¶Ä²©.
Comandes Es mostren totes les ordres que s'han d'executar a l'script.
No s'ensenya res aqu¨ª per webhooks.
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.

Opcions d'edici¨® massiva

Un bot¨® a sota de la llista ofereix una opci¨® d'edici¨® massiva:

  • Esborrar - esborra scripts

Per emprar aquesta opci¨®, marqueu les caselles davant dels scripts respectius i feu clic a Esborrar.

?s de filtres

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.

°ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® d'un script global

Attributs de l'script:

±Ê²¹°ù¨¤³¾±ð³Ù°ù±ð ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®
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 "´¡³¦³¦¾±¨® d'operaci¨®" fa que l'script sigui disponible per a tots els usuaris amb acc¨¦s a °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® ¡ú Accions.
Si realment s'empra un script en un acci¨®, el seu abast no es pot canviar fora de l'"´¡³¦³¦¾±¨® 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 '´¡³¦³¦¾±¨® manual de l'equip' o '´¡³¦³¦¾±¨® manual de l'esdeveniment' com a ?mbit.
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).
El tipus URL ¨¦s disponible nom¨¦s quan '´¡³¦³¦¾±¨® manual d'equip' o '´¡³¦³¦¾±¨® manual d'esdeveniment' s'ha definit a ?mbit.
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).
Empreu la macro {MANUALINPUT} al camp per permetre especificar una entrada manual al moment d'execuci¨® de l'script, com ara :
http://{MANUALINPUT}/zabbix/zabbix.php?action=dashboard.view
Els valors de macro no han d'¨¦sser URL-encoded.
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
±Ê²¹°ù¨¤³¾±ð³Ù°ù±ðs Especifiqueu les variables de webhook com a parelles d'atribut-valor.
Veieu tamb¨¦: °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® 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 a l'editor modal que s'obre quan cliquem al camp de par¨¤metres, o a la icona de text del ll¨¤pis que hi ha al costat.
El suport de macro dep¨¨n de l'abast de l'script (veieu ?mbit a dalt).
Veieu tamb¨¦: °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® 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, com ara 30s, 1m.
Tipus de script: Script
Quan executar Feu clic al bot¨® corresponent per executar l'script de l'int¨¨rpret de comandes a:
agent Áú»¢¶Ä²© - l'agent Áú»¢¶Ä²© executar¨¤ l'script (si l'element system.run ¨¦s ±è±ð°ù³¾¨¨²õ) a l'equip
Servidor o proxy Áú»¢¶Ä²© - l'script s'executar¨¤ pel servidor o proxy Áú»¢¶Ä²©.
S'executar¨¤ al proxy si s'ha activat el par¨¤metre de servidor EnableRemoteCommands - depenent de si l'equip ¨¦s monitorat per un servidor o un proxy
servidor Áú»¢¶Ä²© - l'script nom¨¦s l'executar¨¤ el servidor Áú»¢¶Ä²©.
Aquesta opci¨® no ser¨¤ pas disponible si els scripts globals s¨®n desactivats per el par¨¤metre del servidor EnableGlobalScripts.
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¨®.
Frase 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.
¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨® 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 '´¡³¦³¦¾±¨® manual de l'equip' o '´¡³¦³¦¾±¨® 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 "´¡³¦³¦¾±¨® manual de l'equip" o "´¡³¦³¦¾±¨® manual d'esdeveniment" com a ?mbit .
°ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® avan?ada Feu clic a l'etiqueta °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® avan?ada per veure les opcions de configuraci¨® avan?ada options.
Aquest camp nom¨¦s apareix si '´¡³¦³¦¾±¨® manual de l'equip' o '´¡³¦³¦¾±¨® manual d'esdeveniment' ¨¦s triat com a ?mbit.

°ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® avan?ada

Les opcions de configuraci¨® avan?ades s¨®n disponibles a una secci¨® plegable °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® avan?ada:

|±Ê²¹°ù¨¤³¾±ð³Ù°ù±ð|¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®| |-----------|--------------------------------------- --| |Activar l'entrada de l'usuari|Marqueu la casella de selecci¨® per habilitar l'entrada manual de l'usuari abans d'executar l'script.
L'entrada manual de l'usuari substituir¨¤ el valor de la macro {MANUALINPUT} a l'script.
Veieu tamb¨¦: Entrada manual de l'usuari.| |Introducci¨® de petici¨®|Introdu?u una petici¨® de text personalitzada per a l'entrada personalitzada de l'usuari. Aquest text es mostrar¨¤ a sobre del camp d'entrada a la finestra emergent Entrada manual.
Per veure una vista pr¨¨via de la finestra emergent Entrada manual, feu clic a Prova l'entrada de l'usuari. La previsualitzaci¨® tamb¨¦ permet provar si la cadena d'entrada compleix la regla de validaci¨® d'entrada (veieu els par¨¤metres a continuaci¨®).
El suport de macros i macros d'usuari dep¨¨n de l'abast de l'script (veieu ?mbit als par¨¤metres de configuraci¨® generals de l'script).| |Tipus d'entrada|Trieu el tipus d'entrada manual:
Cadena - cadena ¨²nica;
Dropdown - el valor es selecciona entre diverses opcions desplegables.| |Opcions desplegables|Introdu?u valors ¨²nics per al men¨² desplegable d'entrada de l'usuari en una llista delimitada per comes.
Per incloure una opci¨® buida al men¨² desplegable, afegiu una coma addicional al principi, al mig o al final de la llista.< br>Aquest camp nom¨¦s es mostra si s'ha escollit 'Men¨² desplegable' com a Tipus d'entrada.| |Cadena d'entrada predeterminada|Introdu?u la cadena per defecte per a l'entrada de l'usuari (o cap).
Aquest camp es validar¨¤ amb l'expressi¨® regular proporcionada al camp Regla de validaci¨® d'entrada.
El valor introdu?t aqu¨ª ser¨¤ es mostra per defecte a la finestra emergent Entrada manual.
Aquest camp nom¨¦s es mostra si s'ha triat 'Cadena' com a Tipus d'entrada.| |Regla de validaci¨® d'entrada|Introdu?u una expressi¨® regular per validar la cadena d'entrada de l'usuari.
S'admeten expressions regulars globals.
Aquest camp nom¨¦s es mostra si s'ha escollit 'Cadena' com a Tipus d'entrada.| |Activar la confirmaci¨®|Marqueu la casella de selecci¨® per mostrar un missatge de confirmaci¨® abans d'executar l'script. Aquesta caracter¨ªstica pot ser especialment ¨²til amb operacions potencialment perilloses (com ara un script de reinici) o les que poden trigar molt de temps.| |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¨¤. Voleu fer-ho?). Per veure com quedar¨¤ el text, feu clic a Confirmaci¨® de la prova al costat del camp.
Macros i macros d'usuari personalitzades. Les macros d'usuari s¨®n compatibles.
Nota: les macros no s'ampliaran en provar el missatge de confirmaci¨®.|

Si es configuren tant l'entrada manual de l'usuari com un missatge de confirmaci¨®, es mostraran en finestres emergents consecutives.

Entrada manual de l'usuari

L'entrada manual de l'usuari permet proporcionar un par¨¤metre personalitzat a cada execuci¨® de l'script. Aix¨° estalvia la necessitat de crear diversos scripts d'usuari similars amb nom¨¦s una difer¨¨ncia de par¨¤metres.

Per exemple, ¨¦s possible que vulgueu proporcionar un nombre enter diferent o una adre?a URL diferent a l'script durant l'execuci¨®.

Per habilitar l'entrada manual de l'usuari:

Amb l'entrada de l'usuari habilitada, abans de l'execuci¨® de l'script, apareixer¨¤ una finestra emergent Entrada manual a l'usuari demanant que proporcioni un valor personalitzat. El valor proporcionat substituir¨¤ {MANUALINPUT} a l'script.

En funci¨® de la configuraci¨®, se li demanar¨¤ a l'usuari que introdueixi un valor de cadena:

O trieu el valor d'un men¨² desplegable d'opcions predeterminades:

L'entrada manual de l'usuari nom¨¦s ¨¦s disponible per als scripts on l'abast ¨¦s "´¡³¦³¦¾±¨® manual de l'equip" o "´¡³¦³¦¾±¨® d'esdeveniment manual".

Execuci¨® d'script i resultat

Els scripts executats pel servidor Áú»¢¶Ä²© 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¨®:

 uname -v
        /tmp/non_existing_script.sh
        echo "Aquest script l'ha iniciat {USER.USERNAME}"

La sortida de l'script no ensenya l'script.

Temps l¨ªmit de l'script

Agent Áú»¢¶Ä²©

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 Áú»¢¶Ä²© i la finestra de resultats a continuaci¨®:

 sleep 5
        df -h

El missatge d'error en aquest cas ¨¦s:

 Temps d'espera esgotat durant l'execuci¨® d'un script de shell.

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 Áú»¢¶Ä²© i °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® del servidor Áú»¢¶Ä²©.

Tanmateix, per a l'agent Áú»¢¶Ä²© en mode actiu, el par¨¤metre Timeout a °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® del servidor Áú»¢¶Ä²© hauria de ser almenys uns segons m¨¦s que el par¨¤metre RefreshActiveChecks a °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® de l'agent Áú»¢¶Ä²©. Aix¨° garanteix que el servidor tingui prou temps per rebre els resultats de la comprovaci¨® activa de l'agent. Tingueu en compte que l'execuci¨® d'scripts en un agent actiu ¨¦s compatible des de l'agent Áú»¢¶Ä²© 7.0.

Si el par¨¤metre Timeout encara es modifica a la °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® de l'agent Áú»¢¶Ä²©, pot apar¨¨ixer el missatge d'error seg¨¹ent:

 No s'ha pogut obtindre el valor de l'agent: ZBX_TCP_READ() s'ha esgotat.

Aix¨° vol dir que s'ha fet un canvi a °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® de l'agent Áú»¢¶Ä²© i cal canviar el par¨¤metre Timeout tamb¨¦ a °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® del servidor Áú»¢¶Ä²© .

Servidor/proxy Áú»¢¶Ä²©

Aqu¨ª hi ha un script d'exemple executat al servidor Áú»¢¶Ä²© i la finestra de resultats a continuaci¨®:

 sleep 11
        df-h

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 °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® del servidor Áú»¢¶Ä²©).