discoveryrule.update
Opis
object discoveryrule.update(object/array lldRules)
Ta metoda umożliwia aktualizację istniejących reguł LLD.
Ta metoda jest dostępna tylko dla typów użytkowników Admin i Super admin. Uprawnienia do wywołania tej metody mogą zostać cofnięte w ustawieniach roli użytkownika. Więcej informacji można znaleźć w Rolach użytkowników.
Parametry
(object/array) Właściwości reguły LLD do zaktualizowania.
Właściwość itemid musi być zdefiniowana dla każdej reguły LLD, wszystkie pozostałe
właściwości są opcjonalne. Zaktualizowane zostaną tylko przekazane właściwości, wszystkie
pozostałe pozostaną bez zmian.
Oprócz standardowych właściwości reguły LLD metoda akceptuje następujące parametry.
| Parametr | Typ | Opis |
|---|---|---|
| filter | object | Filtr reguły LLD zastępujący istniejący filtr. |
| preprocessing | object/array | Opcje preprocessingu reguły LLD zastępujące istniejące opcje preprocessingu. Zachowanie parametru: - tylko do odczytu dla obiektów dziedziczonych |
| lld_macro_paths | object/array | Opcje lld_macro_path reguły LLD zastępujące istniejące opcje lld_macro_path. Zachowanie parametru: - tylko do odczytu dla obiektów dziedziczonych |
| overrides | object/array | Opcje nadpisań reguły LLD zastępujące istniejące opcje nadpisań. Zachowanie parametru: - tylko do odczytu dla obiektów dziedziczonych |
Zwracane wartości
(object) Zwraca obiekt zawierający identyfikatory zaktualizowanych reguł LLD
we właściwości itemids.
Przykłady
Dodawanie filtra do reguły LLD
Dodaj filtr, aby zawartość makra {#FSTYPE} pasowała do wyrażenia regularnego \@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
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"22450"
]
},
"id": 1
}
Dodawanie ścieżek makr LLD
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "22450",
"lld_macro_paths": [
{
"lld_macro": "{#MACRO1}",
"path": "$.json.path"
}
]
},
"id": 1
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"22450"
]
},
"id": 1
}
Wyłącz przechwytywanie
Wyłącz przechwytywanie LLD dla reguły wykrywania.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "28336",
"allow_traps": 0
},
"id": 1
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"28336"
]
},
"id": 1
}
Aktualizowanie opcji przetwarzania wstępnego reguły LLD
Zaktualizuj regułę LLD, używając reguły przetwarzania wstępnego „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
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44211"
]
},
"id": 1
}
Aktualizacja skryptu reguły LLD
Zaktualizuj skrypt reguły LLD innym skryptem i usuń zbędne parametry, które były używane przez poprzedni skrypt.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "23865",
"parameters": [],
"script": "Zabbix.log(3, 'Log test');\nreturn 1;"
},
"id": 1
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"23865"
]
},
"id": 1
}
Aktualizacja czasu życia reguły LLD
Zaktualizuj regułę LLD, aby wyłączyć encję, która nie jest już wykrywana, po 12 godzinach i usunąć ją po 7 dniach.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "46864",
"lifetime_type": 0,
"lifetime": "7d",
"enabled_lifetime_type": 0,
"enabled_lifetime": "12h"
},
"id": 1
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"46864"
]
},
"id": 1
}
Źródło
CDiscoveryRule::update() w ui/include/classes/api/services/CDiscoveryRule.php.