discoveryrule.get
Descripción
integer/array discoveryrule.get(parámetros del objeto)
El método permite recuperar reglas LLD según los parámetros dados.
Este método está disponible para usuarios de cualquier tipo. Los permisos para llamar al método pueden ser revocados en la configuración de roles de usuario. Consulte Roles de usuario para obtener más información.
Parámetros
(object) Parámetros que definen la salida deseada.
El método admite los siguientes parámetros.
| Parámetro | Tipo | Descripción |
|---|---|---|
| itemids | ID/array | Devolver solo las reglas LLD con los IDs dados. |
| groupids | ID/array | Devolver solo las reglas LLD que pertenecen a los hosts de los grupos dados. |
| hostids | ID/array | Devolver solo las reglas LLD que pertenecen a los hosts dados. |
| inherited | boolean | Si se establece en true, devolver solo las reglas LLD heredadas de un template. |
| interfaceids | ID/array | Devolver solo las reglas LLD que usan las interfaces de host dadas. |
| monitored | boolean | Si se establece en true, devolver solo las reglas LLD habilitadas que pertenecen a hosts monitorizados. |
| templated | boolean | Si se establece en true, devolver solo las reglas LLD que pertenecen a templates. |
| templateids | ID/array | Devolver solo las reglas LLD que pertenecen a los templates dados. |
| selectDiscoveryData | query | Devolver una propiedad discoveryData con los datos del objeto de descubrimiento de la regla LLD. El objeto de descubrimiento de la regla LLD vincula una regla LLD descubierta a una regla LLD prototipo de la que fue descubierta. |
| selectDiscoveryRulePrototypes | query | Devolver una propiedad discoveryRulePrototypes con las reglas LLD prototipo que pertenecen a la regla LLD.Admite count. |
| selectFilter | query | Devolver una propiedad filter con los datos del filtro utilizado por la regla LLD. |
| selectGraphs | query | Devuelve una propiedad graphs con los gráficos prototipo que pertenecen a la regla LLD.Admite count. |
| selectHostPrototypes | query | Devolver una propiedad hostPrototypes con los hosts prototipo que pertenecen a la regla LLD.Admite count. |
| selectHosts | query | Devolver una propiedad hosts con un array de hosts a los que pertenece la regla LLD. |
| selectItems | query | Devolver una propiedad items con los items prototipo que pertenecen a la regla LLD.Admite count. |
| selectTriggers | query | Devolver una propiedad triggers con los triggers prototipo que pertenecen a la regla LLD.Admite count. |
| selectLLDMacroPaths | query | Devolver una propiedad lld_macro_paths con una lista de macros LLD y rutas a los valores asignados a cada macro correspondiente. |
| selectPreprocessing | query | Devolver una propiedad preprocessing con las opciones de preprocesamiento de la regla LLD. |
| selectOverrides | query | Devolver una propiedad lld_rule_overrides con una lista de filtros de override, condiciones y operaciones que se realizan en los objetos prototipo. |
| filter | object | Devolver solo aquellos resultados que coincidan exactamente con el filtro dado. Acepta un objeto, donde las claves son nombres de propiedades y los valores son un único valor o un array de valores con los que comparar. No admite propiedades de tipo de dato text data type.Admite propiedades adicionales: host - nombre técnico del host al que pertenece la regla LLD. |
| limitSelects | integer | Limita el número de registros devueltos por subconsultas. Se aplica a las siguientes subconsultas: selectItems, selectGraphs, selectTriggers. |
| sortfield | string/array | Ordenar el resultado por las propiedades dadas. Valores posibles: itemid, name, key_, delay, type, status. |
| countOutput | boolean | Estos parámetros se describen en el comentario de referencia. |
| editable | boolean | |
| excludeSearch | boolean | |
| limit | integer | |
| output | query | |
| preservekeys | boolean | |
| search | object | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean |
Valores de retorno
(entero/array) Devuelve:
- un array de objetos
- el número de objetos recuperados, si se ha utilizado el parámetro
countOutput.
Ejemplos
Recuperar reglas de descubrimiento de un host
Recupera todas las reglas de descubrimiento para un ID de host específico.
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": "extend",
"hostids": "10202"
},
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": [
{
"itemid": "27425",
"type": "0",
"snmp_oid": "",
"hostid": "10202",
"name": "Descubrimiento de interfaz de red",
"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": "Descubrimiento de interfaces de red según lo definido en la expresión regular global \"Interfaces de red para descubrimiento\".",
"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": "Descubrimiento de sistemas de archivos montados",
"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": "Descubrimiento de sistemas de archivos de diferentes tipos según lo definido en la expresión regular global \"Sistemas de archivos para descubrimiento\".",
"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
}
Recuperando condiciones de filtro
Recupere el nombre de la regla LLD "24681" y sus condiciones de filtro.
El filtro utiliza el tipo de evaluación "and", por lo que la propiedad formula está vacía y eval_formula se genera automáticamente.
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": ["name"],
"selectFilter": "extend",
"itemids": ["24681"]
},
"id": 1
}
Respuesta:
{
"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
}
Recuperar la regla LLD por URL
Recupera la regla LLD para el host por el valor del campo URL de la regla. Solo se admite la coincidencia exacta de la cadena URL definida para la regla LLD.
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"hostids": "10257",
"filter": {
"type": 19,
"url": "http://127.0.0.1/discoverer.php"
}
},
"id": 1
}
Respuesta:
{
"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
}
Recuperar regla LLD con sobrescrituras
Recuperar una regla LLD que tiene varias configuraciones de sobrescritura.
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": ["name"],
"itemids": "30980",
"selectOverrides": ["name", "step", "stop", "filter", "operations"]
},
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": [
{
"name": "Descubrir equipo de base de datos",
"overrides": [
{
"name": "Descubrir equipo MySQL",
"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": "Equipo de base de datos",
"opstatus": {
"status": "0"
},
"optag": [
{
"tag": "database",
"value": "mysql"
}
],
"optemplate": [
{
"templateid": "10170"
}
]
}
]
},
{
"name": "Descubrir equipo PostgreSQL",
"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": "Equipo de base de datos",
"opstatus": {
"status": "0"
},
"optag": [
{
"tag": "database",
"value": "postgresql"
}
],
"optemplate": [
{
"templateid": "10263"
}
]
}
]
}
]
}
],
"id": 1
}
Ver también
Fuente
CDiscoveryRule::get() en ui/include/classes/api/services/CDiscoveryRule.php.