discoveryrule.update

Beschreibung

object discoveryrule.update(object/array lldRules)

Mit dieser Methode können vorhandene LLD-Regeln aktualisiert werden.

Diese Methode ist nur für Benutzertypen vom Typ Admin und Super admin verfügbar. Die Berechtigungen zum Aufrufen der Methode können in den Einstellungen der Benutzerrolle entzogen werden. Weitere Informationen finden Sie unter Benutzerrollen.

Parameter

(object/array) Zu aktualisierende Eigenschaften der LLD-Regel.

Die Eigenschaft itemid muss für jede LLD-Regel definiert sein, alle anderen Eigenschaften sind optional. Nur die übergebenen Eigenschaften werden aktualisiert, alle anderen bleiben unverändert.

Zusätzlich zu den standardmäßigen Eigenschaften der LLD-Regel akzeptiert die Methode die folgenden Parameter.

Parameter Type Beschreibung
filter object LLD-Regelfilter zum Ersetzen des vorhandenen Filters.
preprocessing object/array Optionen für die LLD-Regelvorverarbeitung zum Ersetzen der vorhandenen Vorverarbeitungsoptionen.

Parameterverhalten:
- schreibgeschützt für vererbte Objekte
lld_macro_paths object/array Optionen für lld_macro_path der LLD-Regel zum Ersetzen der vorhandenen Optionen für lld_macro_path.

Parameterverhalten:
- schreibgeschützt für vererbte Objekte
overrides object/array Optionen für LLD-Regelüberschreibungen zum Ersetzen der vorhandenen Überschreibungsoptionen.

Parameterverhalten:
- schreibgeschützt für vererbte Objekte

Rückgabewerte

(object) Gibt ein Objekt zurück, das die IDs der aktualisierten LLD-Regeln unter der Eigenschaft itemids enthält.

Beispiele

Hinzufügen eines Filters zu einer LLD-Regel

Fügen Sie einen Filter hinzu, sodass der Inhalt des Makros {#FSTYPE} mit dem regulären Ausdruck \@File systems for discovery übereinstimmt.

Anfrage:

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

Antwort:

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

Hinzufügen von LLD-Makropfaden

Anfrage:

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

Antwort:

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

Trapping deaktivieren

Deaktivieren Sie das LLD-Trapping für die Discovery-Regel.

Anfrage:

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

Antwort:

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

Vorverarbeitungsoptionen der LLD-Regel aktualisieren

Aktualisieren Sie eine LLD-Regel mit der Vorverarbeitungsregel „JSONPath“.

Anfrage:

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

Antwort:

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

LLD-Regelskript aktualisieren

Aktualisieren Sie ein LLD-Regelskript mit einem anderen Skript und entfernen Sie nicht benötigte Parameter, die vom vorherigen Skript verwendet wurden.

Anfrage:

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

Antwort:

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

Lebensdauer der LLD-Regel aktualisieren

Aktualisieren Sie die LLD-Regel, um eine nicht mehr entdeckte Entität nach 12 Stunden zu deaktivieren und nach 7 Tagen zu löschen.

Anfrage:

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

Antwort:

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

Quelle

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