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.

discoveryrule.update

Beschrijving

object discoveryrule.update(object/array lldRules)

Deze methode maakt het mogelijk om bestaande LLD-regels bij te werken.

Deze methode is alleen beschikbaar voor gebruikerstypes Admin en Superadmin. Rechten om de methode aan te roepen kunnen worden ingetrokken in de instellingen van gebruikersrollen. Zie Gebruikersrollen voor meer informatie.

Parameters

(object/array) LLD-regel eigenschappen die bijgewerkt moeten worden.

De itemid-eigenschap moet gedefinieerd zijn voor elke LLD-regel, alle andere eigenschappen zijn optioneel. Alleen de doorgegeven eigenschappen worden bijgewerkt, alle andere blijven ongewijzigd.

Naast de standaard LLD-regel eigenschappen accepteert de methode de volgende parameters.

Parameter Type Beschrijving
filter object LLD-regel filter om het huidige filter te vervangen.
preprocessing array LLD-regel preprocessing opties om de bestaande preprocessing-opties te vervangen.

Gedrag van de parameter:
- alleen-lezen voor overgenomen objecten
lld_macro_paths array LLD-regel lld_macro_path opties om de bestaande lld_macro_path-opties te vervangen.

Gedrag van de parameter:
- alleen-lezen voor overgenomen objecten
overrides array LLD-regel overrides opties om de bestaande overrides-opties te vervangen.

Gedrag van de parameter:
- alleen-lezen voor overgenomen objecten

Retourwaarden

(object) Retourneert een object dat de ID's van de bijgewerkte LLD-regels bevat onder de eigenschap 'itemids'.

Voorbeelden

Filter toevoegen aan een LLD-regel

Voeg een filter toe zodat de inhoud van de {#FSTYPE} macro overeenkomt met de @Bestandssystemen voor detectie regexp.

Aanvraag:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.update",
           "params": {
               "itemid": "22450",
               "filter": {
                   "evaltype": 1,
                   "conditions": [
                       {
                           "macro": "{#FSTYPE}",
                           "value": "@Bestandssystemen voor detectie"
                       }
                   ]
               }
           },
           "id": 1
       }

Antwoord:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "22450"
               ]
           },
           "id": 1
       }

Toevoegen van LLD-macro-paden

Aanvraag:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.update",
           "params": {
               "itemid": "22450",
               "lld_macro_paths": [
                   {
                       "lld_macro": "{#MACRO1}",
                       "path": "$.json.path"
                   }
               ]
           },
           "id": 1
       }

Antwoord:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "22450"
               ]
           },
           "id": 1
       }

Uitschakelen van vangen

Schakel LLD-vangen uit voor detectieregel.

Aanvraag:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.update",
           "params": {
               "itemid": "28336",
               "allow_traps": 0
           },
           "id": 1
       }

Antwoord:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "28336"
               ]
           },
           "id": 1
       }

Bijwerken van LLD-regel voorverwerkingsmogelijkheden

Werk een LLD-regel bij met voorverwerkingsregel "JSONPath".

Aanvraag:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.update",
           "params": {
               "itemid": "44211",
               "preprocessing": [
                   {
                       "type": 12,
                       "params": "$.path.to.json",
                       "error_handler": 2,
                       "error_handler_params": "5"
                   }
               ]
           },
           "id": 1
       }

Antwoord:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "44211"
               ]
           },
           "id": 1
       }

#### Bijwerken van LLD-regelscript

Werk een LLD-regelscript bij met een ander script en verwijder onnodige parameters die door het vorige script werden gebruikt.

Aanvraag:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.update",
           "params": {
               "itemid": "23865",
               "parameters": [],
               "script": "Zabbix.log(3, 'Logtest');\nreturn 1;"
           },
           "id": 1
       }

Antwoord:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "23865"
               ]
           },
           "id": 1
       }

Updating LLD rule lifetime

Update LLD rule to disable no-longer discovered entity after 12 hours and to delete it after 7 days.

Request:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.update",
           "params": {
               "itemid": "46864",
               "lifetime_type": 0, 
               "lifetime": "7d",
               "enabled_lifetime_type": 0,
               "enabled_lifetime": "12h"
           },
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "46864"
               ]
           },
           "id": 1
       }

Bron

CDiscoveryRule::update() in ui/include/classes/api/services/CDiscoveryRule.php.