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.

Żądanie:

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

Żądanie:

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

Żądanie:

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

Żądanie:

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

Żądanie:

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

Żądanie:

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