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

Beschrijving

object script.execute(object parameters)

Deze methode maakt het mogelijk om een script uit te voeren op een host of gebeurtenis. Met uitzondering van scripts van het URL-type. Die zijn niet uitvoerbaar.

Deze methode is beschikbaar voor gebruikers van elk type. Toestemming om de methode op te roepen kan worden ingetrokken in de instellingen van gebruikersrollen. Zie Gebruikersrollen voor meer informatie.

Parameters

(object) Parameters die de ID van het script bevatten om uit te voeren en ofwel de ID van de host of de ID van het evenement.

Parameter Type Beschrijving
scriptid string ID van het script dat moet worden uitgevoerd.

Parametergedrag:
- vereist
hostid string ID van de host waarop het script moet worden uitgevoerd.

Parametergedrag:
- vereist als eventid niet is ingesteld
eventid string ID van het evenement waarop het script moet worden uitgevoerd.

Parametergedrag:
- vereist als hostid niet is ingesteld

Retourwaarden

(object) Geeft het resultaat van de scriptuitvoering weer.

Eigenschap Type Beschrijving
reactie string Of het script succesvol is uitgevoerd.

Mogelijke waarde - succes.
waarde string Uitvoer van het script.
debug object Bevat een debugobject als een webhook-script wordt uitgevoerd. Voor andere scripttypes bevat het een leeg object.

Voorbeelden

Voer een webhook-script uit

Voer een webhook-script uit dat een HTTP-verzoek naar een externe service stuurt.

Aanvraag:

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

Reactie:

{
           "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
       }

Voer een aangepast script uit

Voer een "ping" script uit op een host.

Aanvraag:

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

Reactie:

{
           "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
       }

Run a custom script with manual input

Run a "ping" script with command "ping -c {MANUALINPUT} {HOST.CONN}; case $? in [01]) true;; *) false;; esac" on a host.

Request:

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

Response:

{
           "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
       }

Bron

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