integer/array discoveryrule.get(object parameters)
El mètode permet recuperar regles LLD segons els paràmetres proveïts.
Aquest mètode és disponible per a usuaris de qualsevol mena. Els permisos per cridar al mètode es poden revocar a les configuracions de rols d'usuari. Per a més informació, veieu Rols d'usuari.
(objecte)
Paràmetres que defineixen la sortida esperada.
El mètode admet els paràmetres següents.
|Paràmetre|Tipus|Descripció| |---------|---------------------------------------- ------------|-----------| |itemids|string/array|Retorna només les regles amb els ID donats.| |groupids|string/array|Retorna només les regles que pertanyen als grups d'equips donats.| |hostids|string/array|Retorna només les regles que pertanyen als equips donats.| |inherited|boolean|Si s'estableix a true
, només retorna les regles heretades d'un model.| |interfaceids|string/array|Retorna només regles emprant les interfícies d'equip donades.| |monitored|boolean|Si s'estableix a true
, només es retornaran les regles actives que pertanyen als equips supervisats.| |templated|boolean|Si es defineix com a true
, només es retornaran les regles que pertanyen a les plantilles.| |templateids|string/array|Retorna només les regles que pertanyen a les plantilles donades.| |selectFilter|query|Retorna el filtre emprat per la regla a la propietat filtre.| |selectGraphs|query|Retorna els prototips de gràfics que pertanyen a la regla a la propietat gràfics.
Admet count
.| |selectHostPrototypes|query|Retorna els prototips d'equip que pertanyen a la regla a la propietat hostPrototypes.
Admet count
.| |selectHosts|query|Retorna l'equip al que pertany la regla com a matriu a la propietat equips.| |selectItems|query|Retorna els prototips d'elements que pertanyen a la regla a la propietat elements.
Admet count
.| |selectTriggers|query|Retorna els prototips de trigger que pertanyen a la regla a la propietat triggers.
Admet count
.| |selectLLDMacroPaths|query|Retorna una propietat lld_macro_paths amb una llista de macros LLD i camins als valors assignats a cada macro corresponent.| |selectPreprocessing|query|Retorna una propietat de preprocessament amb les opcions de preprocessament de la regla LLD.| |selectOverrides|query|Retorna una propietat lld_rule_overrides amb una llista de filtres d'anul·lació, condicions i operacions realitzades en objectes prototip.| |filtre|objecte|Només retorna resultats que coincideixen exactament amb el filtre donat.
Accepta una matriu on les claus són noms de propietat i els valors són un valor únic o una matriu de valors per comparar.< br>
Admet filtres addicionals:host
- nom tècnic de l'equip al qual pertany la regla.| |limitSelects|integer|Limita el nombre de registres retornats per subconsultes.
S'aplica a les subconsultes següents:selectItems
;selectGraphs
;
selectTriggers
.| |sortfield|string/array|Ordena el resultat per les propietats donades.
Els valors possibles són: itemid
, name
, key_
, delay
, type
i status
.| |countOutput|boolean|Aquests paràmetres, comuns a tots els mètodes get
, es descriuen als comentaris de referència.| |editable|boolean|^| |excludeSearch|boolean|^| |limit|integer|^| |output|query|^| |preservekeys|boolean|^| |search|object|^| |searchByAny|boolean|^| |searchWildcardsEnabled|boolean|^| |sortorder|string/array|^| |startSearch|boolean|^|
(integer/array)
Retorna un d'entre:
countOutput
.recuperar totes les regles de descobriment per a un equip ID d'equip específic.
Petició:
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": "extend",
"hostids": "10202"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Resposta:
{
"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": "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",
"uuid": "",
"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": "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",
"uuid": "",
"state": "0",
"error": "",
"parameters": []
}
],
"id": 1
}
Recuperar el nom de la regla LLD "24681" i les seves condicions de filtratge. El filtre empra el tipus d'avaluació "i", pel que la propietat formula
és buida i la propietat eval_formula
es genera automàticament.
Petició:
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": ["name"],
"selectFilter": "extend",
"itemids": ["24681"]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Resposta:
{
"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
}
Recupera la regla LLD per a un equip segons el valor del camp URL de la regla. Només la correspondència exacta de la cadena URL definida per la regla és suportada.
Petició:
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"hostids": "10257",
"filter": {
"type": 19,
"url": "http://127.0.0.1/discoverer.php"
}
},
"id": 39,
"auth": "d678e0b85688ce578ff061bd29a20d3b"
}
Resposta:
{
"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": 39
}
Recupera una regla LLD que té diferents paràmetres de reemplaçament.
Petició:
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": ["name"],
"itemids": "30980",
"selectOverrides": ["name", "step", "stop", "filter", "operations"]
},
"id": 39,
"auth": "d678e0b85688ce578ff061bd29a20d3b"
}
Resposta:
{
"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.