You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

script.execute

Descripció

object script.execute(object parameters)

Aquest mètode permet executar un script a un equip o esdeveniment; excepte per scripts de tipus URL, que aquests no són pas executables.

Aquest mètode és disponible per a qualsevol mena d'usuaris. Els permisos per cridar al mètode es poden revocar a la configuració de rols d'usuaris. Per a més informació, veieu Rols d'usuari.

Paràmetres

(object) Paràmetres que contenen l'ID de l'script a executar i l'ID de l'equip o l'ID de l'esdeveniment.

Paràmetre Tipus Descripció
scriptid ID ID de l'script a executar.

Comportament de la propietat:
- obligatori
hostid ID ID de l'equip on executar l'script.

Comportament de la propietat:
- obligatori si no s'ha definit eventid
eventid ID ID de l'esdeveniment on executar l'script.

Comportament de la propietat:
- obligatori si no s'ha definit pas hostid
manualinput string Valor entrat per l'usuari per on executar l'script, subsituïnt
la macro {MANUALINPUT}.

Valors de retorn

(object) Retorna el resultat de l'execució de l'script.

Propietat Tipus Descripció
response string Indica si l'script s'ha executat correctament.

Valor possible: success.
value string Sortida de l'script.
debug object Conté un objecte de depuració si s'executa un script webhook. Per a altres tipus d'script, conté un objecte buit.

Exemples

Executar un scrupt de webhook

Executa un script webhook que envia una petició HTTP a un servei extern.

Petició:

{
           "jsonrpc": "2.0",
           "method": "script.execute",
           "params": {
               "scriptid": "4",
               "hostid": "30079"
           },
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "response": "success",
               "value": "{\"status\":\"sent\",\"timestamp\":\"1611235391\"}",
               "debug": {
                   "logs": [
                        {
                            "level": 3,
                            "ms": 480,
                            "message": "[Webhook Script] HTTP status: 200."
                        }
                    ],
                    "ms": 495
               }
           },
           "id": 1
       }

Executar un script fet a mida

Executar un script "ping" sobre un equip.

Petició:

{
           "jsonrpc": "2.0",
           "method": "script.execute",
           "params": {
               "scriptid": "1",
               "hostid": "30079"
           },
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "response": "success",
               "value": "PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.\n64 bytes from 127.0.0.1: icmp_req=1 ttl=64 time=0.074 ms\n64 bytes from 127.0.0.1: icmp_req=2 ttl=64 time=0.030 ms\n64 bytes from 127.0.0.1: icmp_req=3 ttl=64 time=0.030 ms\n\n--- 127.0.0.1 ping statistics ---\n3 packets transmitted, 3 received, 0% packet loss, time 1998ms\nrtt min/avg/max/mdev = 0.030/0.044/0.074/0.022 ms\n",
               "debug": []
           },
           "id": 1
       }

Execució d'un script personalitzat amb entrada manual

Executa un script "ping" amb l'ordre "ping -c {MANUALINPUT} {HOST.CONN}; caes $? in [01]) true;; *) false;; esac" a un equip.

Petició:

{
           "jsonrpc": "2.0",
           "method": "script.execute",
           "params": {
               "scriptid": "7",
               "hostid": "30079",
               "manualinput": "2"
           },
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "response": "success",
               "value": "PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.\n64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.051 ms\n64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.025 ms\n\n--- 127.0.0.1 ping statistics ---\n2 packets transmitted, 2 received, 0% packet loss, time 1021ms\nrtt min/avg/max/mdev = 0.025/0.038/0.051/0.013 ms",
               "debug": []
           },
           "id": 1
       }

Font

CScript::execute() in ui/include/classes/api/services/CScript.php.