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.
{
"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
{
"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.
{
"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”.
{
"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.
{
"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.
{
"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.