integer/array discoveryrule.get(object parameters)
Deze methode maakt het mogelijk om LLD-regels op te halen op basis van de opgegeven parameters.
Deze methode is beschikbaar voor gebruikers van elk type. Rechten om de methode aan te roepen kunnen worden ingetrokken in de instellingen van gebruikersrollen. Zie Gebruikersrollen voor meer informatie.
(object)
Parameters die de gewenste output definiëren.
De methode ondersteunt de volgende parameters.
Parameter | Type | Omschrijving |
---|---|---|
itemids | string/array | Geef alleen LLD-regels terug met de opgegeven IDs. |
groupids | string/array | Geef alleen LLD-regels terug die behoren tot de hosts van de opgegeven groepen. |
hostids | string/array | Geef alleen LLD-regels terug die behoren tot de opgegeven hosts. |
inherited | boolean | Indien ingesteld op true , geef alleen LLD-regels terug die geërfd zijn van een sjabloon. |
interfaceids | string/array | Geef alleen LLD-regels terug die de opgegeven hostinterfaces gebruiken. |
monitored | boolean | Indien ingesteld op true , geef alleen ingeschakelde LLD-regels terug die behoren tot gemonitorde hosts. |
templated | boolean | Indien ingesteld op true , geef alleen LLD-regels terug die behoren tot sjablonen. |
templateids | string/array | Geef alleen LLD-regels terug die behoren tot de opgegeven sjablonen. |
selectFilter | query | Geef een filter eigenschap terug met gegevens van de filter die door de LLD-regel wordt gebruikt. |
selectGraphs | query | Geeft een graphs eigenschap terug met grafiek-prototypes die bij de LLD-regel horen. Ondersteunt count . |
selectHostPrototypes | query | Geef een hostPrototypes eigenschap terug met host-prototypes die bij de LLD-regel horen. Ondersteunt count . |
selectHosts | query | Geef een hosts eigenschap terug met een array van hosts waartoe de LLD-regel behoort. |
selectItems | query | Geef een items eigenschap terug met item-prototypes die bij de LLD-regel horen. Ondersteunt count . |
selectTriggers | query | Geef een triggers eigenschap terug met trigger-prototypes die bij de LLD-regel horen. Ondersteunt count . |
selectLLDMacroPaths | query | Geef 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 | Geef een preprocessing eigenschap terug met opties voor voorverwerking van LLD-regels. |
selectOverrides | query | Geef een lld_rule_overrides eigenschap terug met een lijst van override-filters, -voorwaarden en -bewerkingen die worden uitgevoerd op prototype-objecten. |
filter | object | Geef alleen resultaten terug die exact overeenkomen met de opgegeven filter. Accepteert een array, waarbij de sleutels eigenschapsnamen zijn en de waarden ofwel een enkele waarde of een array van waarden zijn om tegen te matchen. Ondersteunt aanvullende filters: host - technische naam van de host waartoe de LLD-regel behoort. |
limitSelects | integer | Beperkt het aantal records dat wordt teruggegeven door subselecties. Van toepassing op de volgende subselecties: selectItems , selectGraphs , selectTriggers . |
sortfield | string/array | Sorteer het resultaat op de opgegeven eigenschappen. Mogelijke waarden: itemid , name , key_ , delay , type , status . |
countOutput | boolean | Deze parameters zijn gemeenschappelijk voor alle get -methoden en worden in detail beschreven in de referentie-opmerkingen. |
editable | boolean | |
excludeSearch | boolean | |
limit | integer | |
output | query | |
preservekeys | boolean | |
search | object | |
searchByAny | boolean | |
searchWildcardsEnabled | boolean | |
sortorder | string/array | |
startSearch | boolean |
(integer/array)
Geeft ofwel terug:
countOutput
is gebruikt.Haal alle ontdekkingsregels op voor een specifieke host-ID.
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": "extend",
"hostids": "10202"
},
"id": 1
}
Reactie:
{
"jsonrpc": "2.0",
"result": [
{
"itemid": "27425",
"type": "0",
"snmp_oid": "",
"hostid": "10202",
"name": "Netwerkinterface-ontdekking",
"key_": "net.if.discovery",
"delay": "1u",
"status": "0",
"trapper_hosts": "",
"templateid": "22444",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"interfaceid": "119",
"description": "Ontdekking van netwerkinterfaces zoals gedefinieerd in de wereldwijde reguliere expressie \"Netwerkinterfaces voor ontdekking\".",
"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",
"uuid": "",
"state": "0",
"error": "",
"parameters": []
},
{
"itemid": "27426",
"type": "0",
"snmp_oid": "",
"hostid": "10202",
"name": "Ontdekking van gemonteerde bestandssystemen",
"key_": "vfs.fs.discovery",
"delay": "1u",
"status": "0",
"trapper_hosts": "",
"templateid": "22450",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"interfaceid": "119",
"description": "Ontdekking van bestandssystemen van verschillende types zoals gedefinieerd in de wereldwijde reguliere expressie \"Bestandssystemen voor ontdekking\".",
"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",
"uuid": "",
"state": "0",
"error": "",
"parameters": []
}
],
"id": 1
}
Haal de naam op van de LLD-regel "24681" en de filtervoorwaarden ervan op. De filter gebruikt het evaluatietype "en", dus de eigenschap formula
is leeg en eval_formula
wordt automatisch gegenereerd.
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": ["name"],
"selectFilter": "extend",
"itemids": ["24681"]
},
"id": 1
}
Reactie:
{
"jsonrpc": "2.0",
"result": [
{
"itemid": "24681",
"name": "Gefilterde LLD-regel",
"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 en B en C en D"
}
}
],
"id": 1
}
Haal de LLD-regel op voor een host op basis van de waarde van het URL-veld van de regel. Alleen een exacte overeenkomst van de URL-string die is gedefinieerd voor de LLD-regel wordt ondersteund.
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"hostids": "10257",
"filter": {
"type": 19,
"url": "http://127.0.0.1/discoverer.php"
}
},
"id": 1
}
Reactie:
{
"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": "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",
"uuid": "",
"state": "0",
"error": "",
"parameters": []
}
],
"id": 1
}
Haal een LLD-regel op die verschillende overschrijvingsinstellingen heeft.
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": ["name"],
"itemids": "30980",
"selectOverrides": ["name", "step", "stop", "filter", "operations"]
},
"id": 1
}
Reactie:
{
"jsonrpc": "2.0",
"result": [
{
"name": "Ontdek databasehost",
"overschrijvingen": [
{
"name": "Ontdek 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 of B"
},
"operaties": [
{
"operationobject": "3",
"operator": "2",
"value": "Databasehost",
"opstatus": {
"status": "0"
},
"optag": [
{
"tag": "Database",
"value": "MySQL"
}
],
"optemplate": [
{
"templateid": "10170"
}
]
}
]
},
{
"name": "Ontdek PostgreSQL-host",
"step": "2",
"stop": "1",
"filter": {
"evaltype": "0",
"formula": "",
"conditions": [
{
"macro": "{#UNIT.NAME}",
"operator": "8",
"value": "^postgresql\\.service$",
"formulaid": "A"
}
],
"eval_formula": "A"
},
"operaties": [
{
"operationobject": "3",
"operator": "2",
"value": "Databasehost",
"opstatus": {
"status": "0"
},
"optag": [
{
"tag": "Database",
"value": "PostgreSQL"
}
],
"optemplate": [
{
"templateid": "10263"
}
]
}
]
}
]
}
],
"id": 1
}
CDiscoveryRule::get() in ui/include/classes/api/services/CDiscoveryRule.php.