integer/array discoveryrule.get(object parameters)
El método permite recuperar reglas LLD de acuerdo con los parámetros suministrados.
Este método está disponible para usuarios de cualquier tipo. Los permisos para llamar al método se pueden revocar en la configuración de roles de usuario. Ver Roles de usuario para más información.
(objeto)
Parámetros que definen la salida deseada.
El método admite los siguientes parámetros.
Parámetro | Tipo | Descripción |
---|---|---|
itemids | cadena/matriz | Devuelve solo reglas LLD con los ID proporcionados. |
groupids | cadena/matriz | Devuelve solo reglas LLD que pertenecen a los equipos de los grupos dados. |
hostids | cadena/matriz | Devuelve solo reglas LLD que pertenecen a los equipos dados. |
inherited | booleano | Si se establece en "verdadero", devuelve solo reglas LLD heredadas de una plantilla. |
interfaceids | cadena/matriz | Devolver solo las reglas LLD utilizan las interfaces de equipo dadas. |
monitored | booleano | Si se establece en "verdadero", devolverá solo las reglas LLD habilitadas que pertenecen a equipos monitoreados. |
templated | booleano | Si se establece en "true", devuelve solo reglas LLD que pertenecen a plantillas. |
templateids | cadena/matriz | Devuelve solo reglas LLD que pertenecen a las plantillas dadas. |
selectFilter | query | Devuelve una propiedad filtro con datos del filtro utilizado 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 equipo que pertenecen a la regla LLD. Admite count . |
selectHosts | query | Devuelve una propiedad hosts con una matriz de equipos a los que pertenece la regla LLD. |
selectItems | query | Devuelve una propiedad items con prototipos de métricas que pertenecen a la regla LLD. Admite count . |
selectTriggers | query | Devuelve una propiedad triggers con prototipos de iniciador 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 de preprocesamiento con opciones de preprocesamiento de reglas LLD. |
selectOverrides | query | Devuelve una propiedad lld_rule_overrides con una lista de filtros, condiciones y operaciones de anulación que se realizan en objetos prototipo. |
filterexcludeSearch | objeto | Devuelve sólo aquellos resultados que coinciden exactamente con el filtro dado. Acepta una matriz, donde las claves son nombres de propiedades y los valores son un valor único o una matriz de valores con los que comparar. Admite filtros adicionales: host : nombre técnico del host al que pertenece la regla LLD. |
limitSelects | entero | Limita el número de registros devueltos por las subselecciones. Se aplica a las siguientes subselecciones: selectItems , selectGraphs , selectTriggers . |
sortfield | cadena/matriz | Ordena el resultado por las propiedades dadas. Valores posibles: itemid , name , key_ , delay , type , status . |
countOutput | boolean | Estos parámetros, que son comunes para todos los métodos get , se describen en detalle en el comentario de referencia. |
editable | booleano | |
excludeSearch | booleano | |
limit | entero | |
output | consulta | |
preservekeys | booleano | |
search | objeto | |
searchByAny | booleano | |
searchWildcardsEnabled | booleano | |
sortorder | cadena/matriz | |
startSearch | booleano |
(entero/matriz)
Devuelve:
countOutput
ha sido usado.Recupere todas las reglas de descubrimiento para una ID de host específica.
{
"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": "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
}
Recupere el nombre de la regla LLD "24681" y sus condiciones de filtro. El filtro utiliza el tipo de evaluación "y", por lo que la propiedad formula
esta 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 regla LLD de un equipo por el valor del campo URL de 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": "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
}
Recupere una regla LLD que tenga varias configuraciones de anulación.
{
"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": "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": 1
}
CDiscoveryRule::get() en ui/include/classes/api/services/CDiscoveryRule.php.