discoveryrule.get
Beschreibung
integer/array discoveryrule.get(object parameters)
Die Methode ermöglicht das Abrufen von LLD-Regeln entsprechend den angegebenen Parametern.
Diese Methode ist für Benutzer aller Typen verfügbar. Die Berechtigung zum Aufruf der Methode kann in den Einstellungen der Benutzerrolle widerrufen werden. Siehe Benutzerrollen für weitere Informationen.
Parameter
(object) Parameter, die die gewünschte Ausgabe definieren.
Die Methode unterstützt die folgenden Parameter.
| Parameter | Typ | Beschreibung |
|---|---|---|
| itemids | ID/array | Nur LLD-Regeln mit den angegebenen IDs zurückgeben. |
| groupids | ID/array | Nur LLD-Regeln zurückgeben, die zu den Hosts aus den angegebenen Gruppen gehören. |
| hostids | ID/array | Nur LLD-Regeln zurückgeben, die zu den angegebenen Hosts gehören. |
| inherited | boolean | Wenn auf true gesetzt, nur von einer Vorlage geerbte LLD-Regeln zurückgeben. |
| interfaceids | ID/array | Nur LLD-Regeln zurückgeben, die die angegebenen Host-Schnittstellen verwenden. |
| monitored | boolean | Wenn auf true gesetzt, nur aktivierte LLD-Regeln zurückgeben, die zu überwachten Hosts gehören. |
| templated | boolean | Wenn auf true gesetzt, nur LLD-Regeln zurückgeben, die zu Vorlagen gehören. |
| templateids | ID/array | Nur LLD-Regeln zurückgeben, die zu den angegebenen Vorlagen gehören. |
| selectFilter | query | Eine Eigenschaft filter mit Daten des von der LLD-Regel verwendeten Filters zurückgeben. |
| selectGraphs | query | Gibt eine Eigenschaft graphs mit Diagrammvorlagen zurück, die zur LLD-Regel gehören.Unterstützt count. |
| selectHostPrototypes | query | Eine Eigenschaft hostPrototypes mit Hostvorlagen zurückgeben, die zur LLD-Regel gehören.Unterstützt count. |
| selectHosts | query | Eine Eigenschaft hosts mit einem Array von Hosts zurückgeben, zu denen die LLD-Regel gehört. |
| selectItems | query | Eine Eigenschaft items mit Datenpunktvorlagen zurückgeben, die zur LLD-Regel gehören.Unterstützt count. |
| selectTriggers | query | Eine Eigenschaft triggers mit Auslöservorlagen zurückgeben, die zur LLD-Regel gehören.Unterstützt count. |
| selectLLDMacroPaths | query | Eine Eigenschaft lld_macro_paths mit einer Liste von LLD-Makros und Pfaden zu Werten zurückgeben, die jedem entsprechenden Makro zugewiesen sind. |
| selectPreprocessing | query | Eine Eigenschaft preprocessing mit Vorverarbeitungsoptionen der LLD-Regel zurückgeben. |
| selectOverrides | query | Eine Eigenschaft lld_rule_overrides mit einer Liste von Überschreibungsfiltern, Bedingungen und Operationen zurückgeben, die auf Vorlagenobjekte angewendet werden. |
| filter | object | Nur Ergebnisse zurückgeben, die genau dem angegebenen Filter entsprechen. 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 verglichen werden soll. Unterstützt keine Eigenschaften vom Datentyp 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 | Das Ergebnis nach den angegebenen Eigenschaften sortieren. Mögliche Werte: itemid, name, key_, delay, type, status. |
| countOutput | boolean | Diese Parameter werden in den Referenzkommentaren 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 zurück:
- ein Array von Objekten;
- die Anzahl der abgerufenen Objekte, wenn der Parameter
countOutputverwendet wurde.
Beispiele
Abrufen von Erkennungsregeln von einem Host
Rufen Sie alle Erkennungsregeln 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": "Network interface discovery",
"key_": "net.if.discovery",
"delay": "1h",
"status": "0",
"trapper_hosts": "",
"templateid": "22444",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"interfaceid": "119",
"description": "Erkennung von Netzwerkschnittstellen, wie in der globalen regulären Ausdrucksdefinition \"Network interfaces for discovery\" festgelegt.",
"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",
"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": "Mounted filesystem discovery",
"key_": "vfs.fs.discovery",
"delay": "1h",
"status": "0",
"trapper_hosts": "",
"templateid": "22450",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"interfaceid": "119",
"description": "Erkennung von Dateisystemen unterschiedlicher Typen, wie in der globalen regulären Ausdrucksdefinition \"File systems for discovery\" festgelegt.",
"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",
"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
LLD-Regel für einen Host anhand des Werts des URL-Felds der Regel abrufen. Es wird nur die 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": "",
"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",
"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.