discoveryrule.update
Opis
object discoveryrule.update(object/array lldRules)
Ta metoda pozwala na aktualizację istniejących reguł LLD.
Ta metoda jest dostępna tylko dla użytkowników typu Admin i Super admin. Uprawnienia do wywoływania metody można odebrać w ustawieniach roli użytkownika. Zobacz Role użytkownika po więcej informacji.
Parametry
(object/array) Właściwości reguły LLD do aktualizacji.
Właściwość itemid musi być zdefiniowana dla każdej reguły LLD, wszystkie inne
właściwości są opcjonalne. Tylko przekazane właściwości zostaną zaktualizowane, wszystkie
inne pozostaną bez zmian.
Oprócz standardowych właściwości reguł LLD, metoda akceptuje następujące parametry.
| Parametr | Typ | Opis |
|---|---|---|
| filter | object | Obiekt filtra reguły LLD zastępujący bieżący filtr. |
| preprocessing | array | Opcje przetwarzania wstępnego reguły LLD w celu zastąpienia bieżących opcji przetwarzania wstępnego. |
| lld_macro_paths | array | Opcje lld_macro_path reguły LLD zastępujące istniejące opcje lld_macro_path. |
| overrides | array | Opcje nadpisania reguły zastępujące istniejące opcje nadpisania. |
Zwracane wartości
(object) Zwraca obiekt zawierający identyfikatory zaktualizowanych reguł LLD
we właściwości itemids.
Przykłady
Dodanie filtra do reguły LLD
Dodaj filtr, aby zawartość makra {#FSTYPE} była zgodna z wyrażeniem regularnym \@File systems for discovery.
Zapytanie:
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "22450",
"filter": {
"evaltype": 1,
"conditions": [
{
"macro": "{#FSTYPE}",
"value": "@File systems for discovery"
}
]
}
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"22450"
]
},
"id": 1
}
Dodanie ścieżek makr LLD
Zapytanie:
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "22450",
"lld_macro_paths": [
{
"lld_macro": "{#MACRO1}",
"path": "$.json.path"
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"22450"
]
},
"id": 1
}
Wyłącz wyłapywanie (trapper)
Wyłącz wyłapywanie LLD dla reguły wykrywania.
Zapytanie:
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "28336",
"allow_traps": 0
},
"id": 36,
"auth": "d678e0b85688ce578ff061bd29a20d3b"
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"28336"
]
},
"id": 36
}
Aktualizowanie opcji wstępnego przetwarzania reguł LLD
Zaktualizuj regułę LLD za pomocą reguły przetwarzania wstępnego “JSONPath“.
Zapytanie:
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "44211",
"preprocessing": [
{
"type": 12,
"params": "$.path.to.json",
"error_handler": 2,
"error_handler_params": "5"
}
]
},
"auth": "700ca65537074ec963db7efabda78259",
"id": 1
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44211"
]
},
"id": 1
}
Aktualizowanie skryptu reguły LLD
Zaktualizuj skrypt reguły LLD za pomocą innego skryptu i usuń niepotrzebne parametry, które były używane przez poprzedni skrypt.
Zapytanie:
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "23865",
"parameters": [],
"script": "Zabbix.Log(3, 'Log test');\nreturn 1;"
},
"auth": "700ca65537074ec963db7efabda78259",
"id": 1
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"23865"
]
},
"id": 1
}
Źródło
CDiscoveryRule::update() w ui/include/classes/api/services/CDiscoveryRule.php.