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