discoveryrule.update

Descrizione

object discoveryrule.update(object/array lldRules)

Questo metodo consente di aggiornare le regole LLD esistenti.

Questo metodo è disponibile solo per i tipi di utente Admin e Super admin. Le autorizzazioni per chiamare il metodo possono essere revocate nelle impostazioni del ruolo utente. Per ulteriori informazioni, vedere User roles.

Parametri

(object/array) Proprietà della regola LLD da aggiornare.

La proprietà itemid deve essere definita per ogni regola LLD, tutte le altre proprietà sono facoltative. Verranno aggiornate solo le proprietà passate, tutte le altre rimarranno invariate.

Oltre alle proprietà standard della regola LLD, il metodo accetta i seguenti parametri.

Parametro Type Descrizione
filter object Filtro della regola LLD per sostituire il filtro esistente.
preprocessing object/array Opzioni di preprocessing della regola LLD per sostituire le opzioni di preprocessing esistenti.

Comportamento del parametro:
- sola lettura per gli oggetti ereditati
lld_macro_paths object/array Opzioni lld_macro_path della regola LLD per sostituire le opzioni lld_macro_path esistenti.

Comportamento del parametro:
- sola lettura per gli oggetti ereditati
overrides object/array Opzioni di override della regola LLD per sostituire le opzioni di override esistenti.

Comportamento del parametro:
- sola lettura per gli oggetti ereditati

Restituisce i valori

(object) Restituisce un oggetto contenente gli ID delle regole LLD aggiornate sotto la proprietà itemids.

Esempi

Aggiunta di un filtro a una regola LLD

Aggiungere un filtro in modo che il contenuto della macro {#FSTYPE} corrisponda all'espressione regolare \@File systems for discovery.

Richiesta:

{
    "jsonrpc": "2.0",
    "method": "discoveryrule.update",
    "params": {
        "itemid": "22450",
        "filter": {
            "evaltype": 1,
            "conditions": [
                {
                    "macro": "{#FSTYPE}",
                    "value": "@File systems for discovery"
                }
            ]
        }
    },
    "id": 1
}

Risposta:

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

Aggiunta di percorsi macro LLD

Richiesta:

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

Risposta:

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

Disabilitare il trapping

Disabilitare il trapping LLD per la regola di discovery.

Request:

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

Risposta:

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

Aggiornamento delle opzioni di preprocessing della regola LLD

Aggiorna una regola LLD con la regola di preprocessing “JSONPath”.

Richiesta:

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

Risposta:

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

Aggiornamento dello script della regola LLD

Aggiorna uno script di una regola LLD con uno script diverso e rimuove i parametri non necessari che erano utilizzati dallo script precedente.

Richiesta:

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

Risposta:

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

Aggiornamento del periodo di conservazione della regola LLD

Aggiorna la regola LLD per disabilitare l'entità non più rilevata dopo 12 ore e per eliminarla dopo 7 giorni.

Richiesta:

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

Risposta:

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

Fonte

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