discoveryrule.get
Descripción
integer/array discoveryrule.get(object parameters)
El método permite recuperar reglas de LLD según los parámetros proporcionados.
Este método está disponible para usuarios de cualquier tipo. Los permisos para llamar al método pueden revocarse 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.
| Parameter | Type | Description |
|---|---|---|
| itemids | ID/array | Devuelve solo reglas LLD con los IDs dados. |
| groupids | ID/array | Devuelve solo reglas LLD que pertenecen a los hosts de los grupos dados. |
| hostids | ID/array | Devuelve solo reglas LLD que pertenecen a los hosts dados. |
| inherited | boolean | Si se establece en true, devuelve solo reglas LLD heredadas de un template. |
| interfaceids | ID/array | Devuelve solo reglas LLD que usan las interfaces de host dadas. |
| monitored | boolean | Si se establece en true, devuelve solo reglas LLD habilitadas que pertenecen a hosts monitorizados. |
| templated | boolean | Si se establece en true, devuelve solo reglas LLD que pertenecen a templates. |
| templateids | ID/array | Devuelve solo reglas LLD que pertenecen a los templates dados. |
| selectFilter | query | Devuelve una propiedad filter con los datos del filtro usado por la regla LLD. |
| selectGraphs | query | Devuelve una propiedad graphs con prototipos de gráficos que pertenecen a la regla LLD.Admite count. |
| selectHostPrototypes | query | Devuelve una propiedad hostPrototypes con prototipos de host que pertenecen a la regla LLD.Admite count. |
| selectHosts | query | Devuelve una propiedad hosts con un array de hosts a los que pertenece la regla LLD. |
| selectItems | query | Devuelve una propiedad items con prototipos de item que pertenecen a la regla LLD.Admite count. |
| selectTriggers | query | Devuelve una propiedad triggers con prototipos de trigger que pertenecen a la regla LLD.Admite count. |
| selectLLDMacroPaths | query | Devuelve una propiedad lld_macro_paths con una lista de macros LLD y rutas a los valores asignados a cada macro correspondiente. |
| selectPreprocessing | query | Devuelve una propiedad preprocessing con las opciones de preprocesamiento de la regla LLD. |
| selectOverrides | query | Devuelve una propiedad lld_rule_overrides con una lista de filtros, condiciones y operaciones de anulación que se realizan sobre los objetos prototipo. |
| filter | object | Devuelve solo aquellos resultados que coinciden 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 datos 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 las subconsultas. Se aplica a las siguientes subconsultas: selectItems, selectGraphs, selectTriggers. |
| sortfield | string/array | Ordena el resultado por las propiedades dadas. Valores posibles: itemid, name, key_, delay, type, status. |
| countOutput | boolean | Estos parámetros se describen en el reference commentary. |
| editable | boolean | |
| excludeSearch | boolean | |
| limit | integer | |
| output | query | |
| preservekeys | boolean | |
| search | object | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean |
Valores de retorno
(integer/array) Devuelve cualquiera de los siguientes:
- un array de objetos;
- el número de objetos recuperados, si se ha utilizado el parámetro
countOutput.
Ejemplos
Recuperación de reglas de descubrimiento de un host
Recupere 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 interfaces 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": "",
"interfaceid": "119",
"description": "Descubrimiento de interfaces de red según lo definido en la expresión regular global \"Network interfaces for discovery\".",
"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": "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": "",
"interfaceid": "119",
"description": "Descubrimiento de sistemas de archivos de distintos tipos según lo definido en la expresión regular global \"File systems for discovery\".",
"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
}
Recuperación de condiciones de filtro
Recupere el nombre de la regla LLD "24681" y sus condiciones de filtro. El filtro usa 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
}
Obtener regla LLD por URL
Obtiene la regla LLD para un 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": "",
"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
}
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
Source
CDiscoveryRule::get() en ui/include/classes/api/services/CDiscoveryRule.php.