integer/array discoveryrule.get(objectparameters)
De methode maakt het mogelijk om LLD-regels op te halen volgens de gegeven parameters.
Deze methode is beschikbaar voor gebruikers van elk type. Rechten om de methode aan te roepen, kan worden ingetrokken in de instellingen van de gebruikersrol. Zie Gebruiker rollen voor meer informatie.
(object)
Parameters die de gewenste uitvoer definiëren.
De methode ondersteunt de volgende parameters.
Parameter | Type | Description |
---|---|---|
itemids | string/array | Geeft alleen LLD-regels terug met de opgegeven ID's. |
groupids | string/array | Geeft alleen LLD-regels terug die toebehoren aan de hosts uit de opgegeven groepen. |
hostids | string/array | Geeft alleen LLD-regels terug die toebehoren aan de opgegeven hosts. |
inherited | boolean | Als ingesteld op true , geeft het alleen LLD-regels terug die geërfd zijn van een sjabloon. |
interfaceids | string/array | Geeft alleen LLD-regels terug die de opgegeven hostinterfaces gebruiken. |
monitored | boolean | Als ingesteld op true , geeft het alleen ingeschakelde LLD-regels terug die toebehoren aan bewaakte hosts. |
templated | boolean | Als ingesteld op true , geeft het alleen LLD-regels terug die toebehoren aan sjablonen. |
templateids | string/array | Geeft alleen LLD-regels terug die toebehoren aan de opgegeven sjablonen. |
selectFilter | query | Geeft een filter-eigenschap terug met gegevens van de filter die door de LLD-regel wordt gebruikt. |
selectGraphs | query | Geeft een graphs-eigenschap terug met grafieksjablonen die toebehoren aan de LLD-regel. Ondersteunt count . |
selectHostPrototypes | query | Geeft een hostPrototypes-eigenschap terug met hostsjablonen die toebehoren aan de LLD-regel. Ondersteunt count . |
selectHosts | query | Geeft een hosts-eigenschap terug met een array van hosts waartoe de LLD-regel behoort. |
selectItems | query | Geeft een items-eigenschap terug met item-sjablonen die toebehoren aan de LLD-regel. Ondersteunt count . |
selectTriggers | query | Geeft een triggers-eigenschap terug met triggersjablonen die toebehoren aan de LLD-regel. Ondersteunt count . |
selectLLDMacroPaths | query | Geeft een lld_macro_paths-eigenschap terug met een lijst van LLD-macro's en paden naar waarden die aan elke overeenkomstige macro zijn toegewezen. |
selectPreprocessing | query | Geeft een preprocessing-eigenschap terug met LLD-regel preprocessing-opties. |
selectOverrides | query | Geeft een lld_rule_overrides-eigenschap terug met een lijst van overriden filters, voorwaarden en operaties die worden uitgevoerd op prototypes. |
filter | object | Geeft alleen resultaten terug die precies overeenkomen met de opgegeven filter. Accepteert een array, waarbij de sleutels eigenschapsnamen zijn en de waarden ofwel een enkele waarde ofwel een array van waarden zijn om mee te vergelijken. Ondersteunt aanvullende filters: host - technische naam van de host waartoe de LLD-regel behoort. |
limitSelects | integer | Beperkt het aantal records dat wordt teruggegeven door subselects. Van toepassing op de volgende subselects: selctItems ;selectGraphs ;selectTriggers . |
sortfield | string/array | Sorteert het resultaat op basis van de opgegeven eigenschappen. Mogelijke waarden zijn: itemid , name , key_ , delay , type en status . |
countOutput | boolean | Deze parameters, die gebruikelijk zijn voor alle get -methoden, worden in detail beschreven in het referentiecommentaar. |
editable | boolean | |
excludeSearch | boolean | |
limit | integer | |
output | query | |
preservekeys | boolean | |
search | object | |
searchByAny | boolean | |
searchWildcardsEnabled | boolean | |
sortorder | string/array | |
startSearch | boolean |
(integer/array)
Retourneert ofwel:
countOutput
heeft gebruikt.Haal alle ontdekkingsregels op van host "10202".
Verzoek:
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": "extend",
"hostids": "10202"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Antwoord:
{
"jsonrpc": "2.0",
"result": [
{
"itemid": "27425",
"type": "0",
"snmp_oid": "",
"hostid": "10202",
"name": "Network interface discovery",
"key_": "net.if.discovery",
"delay": "1h",
"state": "0",
"status": "0",
"trapper_hosts": "",
"error": "",
"templateid": "22444",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"interfaceid": "119",
"description": "Discovery of network interfaces as defined in global regular expression \"Network interfaces for discovery\".",
"lifetime": "30d",
"jmx_endpoint": "",
"master_itemid": "0",
"timeout": "3s",
"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",
"parameters": []
},
{
"itemid": "27426",
"type": "0",
"snmp_oid": "",
"hostid": "10202",
"name": "Mounted filesystem discovery",
"key_": "vfs.fs.discovery",
"delay": "1h",
"state": "0",
"status": "0",
"trapper_hosts": "",
"error": "",
"templateid": "22450",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"interfaceid": "119",
"description": "Discovery of file systems of different types as defined in global regular expression \"File systems for discovery\".",
"lifetime": "30d",
"jmx_endpoint": "",
"master_itemid": "0",
"timeout": "3s",
"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",
"parameters": []
}
],
"id": 1
}
Ophalen van LLD regel "24681" en de filter voorwaarden hiervan. Het filter gebruikt de logische "en" evaluatie, dus de eigenschap "formula" is leeg terwijl "eval_formula" automatisch gegenereerd is.
Verzoek:
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": [
"name"
],
"selectFilter": "extend",
"itemids": ["24681"]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Antwoord:
{
"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
}
Haal de LLD regel voor een host op via de URL veld waarde. Alleen een exacte match voor de URL string zoals in de LLD regel gedefineerd is, is supported.
Verzoek:
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"hostids": "10257",
"filter": {
"type": "19",
"url": "http://127.0.0.1/discoverer.php"
}
},
"id": 39,
"auth": "d678e0b85688ce578ff061bd29a20d3b"
}
Antwoord:
{
"jsonrpc": "2.0",
"result": [
{
"itemid": "28336",
"type": "19",
"snmp_oid": "",
"hostid": "10257",
"name": "API HTTP agent",
"key_": "api_discovery_rule",
"delay": "5s",
"history": "90d",
"trends": "0",
"status": "0",
"value_type": "4",
"trapper_hosts": "",
"units": "",
"error": "",
"logtimefmt": "",
"templateid": "0",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"flags": "1",
"interfaceid": "5",
"description": "",
"inventory_link": "0",
"lifetime": "30d",
"state": "0",
"jmx_endpoint": "",
"master_itemid": "0",
"timeout": "3s",
"url": "http://127.0.0.1/discoverer.php",
"query_fields": [
{
"mode": "json"
},
{
"elements": "2"
}
],
"posts": "",
"status_codes": "200",
"follow_redirects": "1",
"post_type": "0",
"http_proxy": "",
"headers": {
"X-Type": "api",
"Authorization": "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",
"parameters": []
}
],
"id": 39
}
Haal een LLD regel met meerdere overschrijvings instellingen op.
Verzoek:
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": ["name"],
"itemids": "30980",
"selectOverrides": ["name", "step", "stop", "filter", "operations"]
},
"id": 39,
"auth": "d678e0b85688ce578ff061bd29a20d3b"
}
Antwoord:
{
"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": 39
}
CDiscoveryRule::get() in ui/include/classes/api/services/CDiscoveryRule.php.