discoveryrule.get
Beschreibung
integer/array discoveryrule.get(object parameters)
Mit dieser Methode können LLD-Regeln entsprechend den angegebenen Parametern abgerufen werden.
Diese Methode ist für Benutzer aller Typen 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) Parameter, die die gewünschte Ausgabe definieren.
Die Methode unterstützt die folgenden Parameter.
| Parameter | Type | Beschreibung |
|---|---|---|
| itemids | ID/array | Gibt nur LLD-Regeln mit den angegebenen IDs zurück. |
| groupids | ID/array | Gibt nur LLD-Regeln zurück, die zu den Hosts aus den angegebenen Gruppen gehören. |
| hostids | ID/array | Gibt nur LLD-Regeln zurück, die zu den angegebenen Hosts gehören. |
| inherited | boolean | Wenn auf true gesetzt, werden nur von einer Vorlage geerbte LLD-Regeln zurückgegeben. |
| interfaceids | ID/array | Gibt nur LLD-Regeln zurück, die die angegebenen Host-Schnittstellen verwenden. |
| monitored | boolean | Wenn auf true gesetzt, werden nur aktivierte LLD-Regeln zurückgegeben, die zu überwachten Hosts gehören. |
| templated | boolean | Wenn auf true gesetzt, werden nur LLD-Regeln zurückgegeben, die zu Vorlagen gehören. |
| templateids | ID/array | Gibt nur LLD-Regeln zurück, die zu den angegebenen Vorlagen gehören. |
| selectDiscoveryData | query | Gibt eine discoveryData-Eigenschaft mit den Objektdaten der LLD-Regelerkennung zurück. Das LLD-Regelerkennungsobjekt verknüpft eine erkannte LLD-Regel mit einem LLD-Regelprototyp, aus dem sie erkannt wurde. |
| selectDiscoveryRulePrototypes | query | Gibt eine Eigenschaft discoveryRulePrototypes mit LLD-Regelprototypen zurück, die zur LLD-Regel gehören.Unterstützt count. |
| selectFilter | query | Gibt eine Eigenschaft filter mit Daten des von der LLD-Regel verwendeten Filters zurück. |
| selectGraphs | query | Gibt eine Eigenschaft graphs mit Graphprototypen zurück, die zur LLD-Regel gehören.Unterstützt count. |
| selectHostPrototypes | query | Gibt eine Eigenschaft hostPrototypes mit Host-Prototypen zurück, die zur LLD-Regel gehören.Unterstützt count. |
| selectHosts | query | Gibt eine Eigenschaft hosts mit einem Array von Hosts zurück, zu denen die LLD-Regel gehört. |
| selectItems | query | Gibt eine Eigenschaft items mit Datenpunktprototypen zurück, die zur LLD-Regel gehören.Unterstützt count. |
| selectTriggers | query | Gibt eine Eigenschaft triggers mit Auslöserprototypen zurück, die zur LLD-Regel gehören.Unterstützt count. |
| selectLLDMacroPaths | query | Gibt eine Eigenschaft lld_macro_paths mit einer Liste von LLD-Makros und Pfaden zu Werten zurück, die jedem entsprechenden Makro zugewiesen sind. |
| selectPreprocessing | query | Gibt eine Eigenschaft preprocessing mit Vorverarbeitungsoptionen der LLD-Regel zurück. |
| selectOverrides | query | Gibt eine Eigenschaft lld_rule_overrides mit einer Liste von Überschreibungsfiltern, Bedingungen und Operationen zurück, die auf Prototypobjekte angewendet werden. |
| filter | object | Gibt nur Ergebnisse zurück, die exakt mit dem angegebenen Filter übereinstimmen. Akzeptiert ein Objekt, bei dem die Schlüssel Eigenschaftsnamen sind und die Werte entweder ein einzelner Wert oder ein Array von Werten sind, mit denen abgeglichen wird. Unterstützt keine Eigenschaften des Datentyps text.Unterstützt zusätzliche Eigenschaften: host - technischer Name des Hosts, zu dem die LLD-Regel gehört. |
| limitSelects | integer | Begrenzt die Anzahl der von Unterabfragen zurückgegebenen Datensätze. Gilt für die folgenden Unterabfragen: selectItems, selectGraphs, selectTriggers. |
| sortfield | string/array | Sortiert das Ergebnis nach den angegebenen Eigenschaften. Mögliche Werte: itemid, name, key_, delay, type, status. |
| countOutput | boolean | Diese Parameter werden in der Referenzkommentierung beschrieben. |
| editable | boolean | |
| excludeSearch | boolean | |
| limit | integer | |
| output | query | |
| preservekeys | boolean | |
| search | object | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean |
Rückgabewerte
(integer/array) Gibt entweder Folgendes zurück:
- ein Array von Objekten
- die Anzahl der abgerufenen Objekte, wenn der Parameter
countOutputverwendet wurde.
Beispiele
Abrufen von Discovery-Regeln von einem Host
Rufen Sie alle Discovery-Regeln für eine bestimmte Host-ID ab.
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": "extend",
"hostids": "10202"
},
"id": 1
}
Antwort:
{
"jsonrpc": "2.0",
"result": [
{
"itemid": "27425",
"type": "0",
"snmp_oid": "",
"hostid": "10202",
"name": "Erkennung von Netzwerkschnittstellen",
"key_": "net.if.discovery",
"delay": "1h",
"status": "0",
"trapper_hosts": "",
"templateid": "22444",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"flags": "1",
"interfaceid": "119",
"description": "Erkennung von Netzwerkschnittstellen, wie in dem globalen regulären Ausdruck \"Network interfaces for discovery\" definiert.",
"lifetime": "30d",
"jmx_endpoint": "",
"master_itemid": "0",
"timeout": "",
"url": "",
"query_fields": [],
"posts": "",
"status_codes": "200",
"follow_redirects": "1",
"post_type": "0",
"http_proxy": "",
"headers": [],
"retrieve_mode": "0",
"request_method": "0",
"output_format": "0",
"ssl_cert_file": "",
"ssl_key_file": "",
"ssl_key_password": "",
"verify_peer": "0",
"verify_host": "0",
"allow_traps": "0",
"uuid": "",
"lifetime_type": "0",
"enabled_lifetime_type": "2",
"enabled_lifetime": "0",
"state": "0",
"error": "",
"parameters": []
},
{
"itemid": "27426",
"type": "0",
"snmp_oid": "",
"hostid": "10202",
"name": "Erkennung eingehängter Dateisysteme",
"key_": "vfs.fs.discovery",
"delay": "1h",
"status": "0",
"trapper_hosts": "",
"templateid": "22450",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"flags": "1",
"interfaceid": "119",
"description": "Erkennung von Dateisystemen verschiedener Typen, wie in dem globalen regulären Ausdruck \"File systems for discovery\" definiert.",
"lifetime": "30d",
"jmx_endpoint": "",
"master_itemid": "0",
"timeout": "",
"url": "",
"query_fields": [],
"posts": "",
"status_codes": "200",
"follow_redirects": "1",
"post_type": "0",
"http_proxy": "",
"headers": [],
"retrieve_mode": "0",
"request_method": "0",
"output_format": "0",
"ssl_cert_file": "",
"ssl_key_file": "",
"ssl_key_password": "",
"verify_peer": "0",
"verify_host": "0",
"allow_traps": "0",
"uuid": "",
"lifetime_type": "0",
"enabled_lifetime_type": "2",
"enabled_lifetime": "0",
"state": "0",
"error": "",
"parameters": []
}
],
"id": 1
}
Abrufen von Filterbedingungen
Rufen Sie den Namen der LLD-Regel „24681“ und ihre Filterbedingungen ab.
Der Filter verwendet den Auswertungstyp „and“, daher ist die Eigenschaft formula leer und eval_formula wird automatisch generiert.
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": ["name"],
"selectFilter": "extend",
"itemids": ["24681"]
},
"id": 1
}
Antwort:
{
"jsonrpc": "2.0",
"result": [
{
"itemid": "24681",
"name": "Filtered LLD rule",
"filter": {
"evaltype": "1",
"formula": "",
"conditions": [
{
"macro": "{#MACRO1}",
"value": "@regex1",
"operator": "8",
"formulaid": "A"
},
{
"macro": "{#MACRO2}",
"value": "@regex2",
"operator": "9",
"formulaid": "B"
},
{
"macro": "{#MACRO3}",
"value": "",
"operator": "12",
"formulaid": "C"
},
{
"macro": "{#MACRO4}",
"value": "",
"operator": "13",
"formulaid": "D"
}
],
"eval_formula": "A and B and C and D"
}
}
],
"id": 1
}
LLD-Regel per URL abrufen
Rufen Sie die LLD-Regel für einen Host anhand des Werts des Regel-URL-Feldes ab. Es wird nur eine exakte Übereinstimmung der für die LLD-Regel definierten URL-Zeichenfolge unterstützt.
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"hostids": "10257",
"filter": {
"type": 19,
"url": "http://127.0.0.1/discoverer.php"
}
},
"id": 1
}
Antwort:
{
"jsonrpc": "2.0",
"result": [
{
"itemid": "28336",
"type": "19",
"snmp_oid": "",
"hostid": "10257",
"name": "API HTTP agent",
"key_": "api_discovery_rule",
"delay": "5s",
"status": "0",
"trapper_hosts": "",
"templateid": "0",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"flags": "1",
"interfaceid": "5",
"description": "",
"lifetime": "30d",
"jmx_endpoint": "",
"master_itemid": "0",
"timeout": "",
"url": "http://127.0.0.1/discoverer.php",
"query_fields": [
{
"name": "mode",
"value": "json"
},
{
"name": "elements",
"value": "2"
}
],
"posts": "",
"status_codes": "200",
"follow_redirects": "1",
"post_type": "0",
"http_proxy": "",
"headers": [
{
"name" : "X-Type",
"value": "api"
},
{
"name": "Authorization",
"value": "Bearer mF_A.B5f-2.1JcM"
}
],
"retrieve_mode": "0",
"request_method": "1",
"output_format": "0",
"ssl_cert_file": "",
"ssl_key_file": "",
"ssl_key_password": "",
"verify_peer": "0",
"verify_host": "0",
"allow_traps": "0",
"uuid": "",
"lifetime_type": "0",
"enabled_lifetime_type": "2",
"enabled_lifetime": "0",
"state": "0",
"error": "",
"parameters": []
}
],
"id": 1
}
LLD-Regel mit Überschreibungen abrufen
Rufen Sie eine LLD-Regel ab, die verschiedene Überschreibungseinstellungen hat.
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": ["name"],
"itemids": "30980",
"selectOverrides": ["name", "step", "stop", "filter", "operations"]
},
"id": 1
}
Antwort:
{
"jsonrpc": "2.0",
"result": [
{
"name": "Discover database host",
"overrides": [
{
"name": "Discover MySQL host",
"step": "1",
"stop": "1",
"filter": {
"evaltype": "2",
"formula": "",
"conditions": [
{
"macro": "{#UNIT.NAME}",
"operator": "8",
"value": "^mysqld\\.service$",
"formulaid": "A"
},
{
"macro": "{#UNIT.NAME}",
"operator": "8",
"value": "^mariadb\\.service$",
"formulaid": "B"
}
],
"eval_formula": "A or B"
},
"operations": [
{
"operationobject": "3",
"operator": "2",
"value": "Database host",
"opstatus": {
"status": "0"
},
"optag": [
{
"tag": "database",
"value": "mysql"
}
],
"optemplate": [
{
"templateid": "10170"
}
]
}
]
},
{
"name": "Discover PostgreSQL host",
"step": "2",
"stop": "1",
"filter": {
"evaltype": "0",
"formula": "",
"conditions": [
{
"macro": "{#UNIT.NAME}",
"operator": "8",
"value": "^postgresql\\.service$",
"formulaid": "A"
}
],
"eval_formula": "A"
},
"operations": [
{
"operationobject": "3",
"operator": "2",
"value": "Database host",
"opstatus": {
"status": "0"
},
"optag": [
{
"tag": "database",
"value": "postgresql"
}
],
"optemplate": [
{
"templateid": "10263"
}
]
}
]
}
]
}
],
"id": 1
}
Siehe auch
Quelle
CDiscoveryRule::get() in ui/include/classes/api/services/CDiscoveryRule.php.