discoveryrule.update
Descripción
object discoveryrule.update(object/array lldRules)
Este método permite actualizar reglas LLD existentes.
Este método solo está disponible para los tipos de usuario Admin y Super admin. Los permisos para llamar al método pueden ser revocados en la configuración de roles de usuario. Consulte Roles de usuario para más información.
Parámetros
(objeto/array) Propiedades de la regla LLD que se van a actualizar.
La propiedad itemid debe definirse para cada regla LLD, todas las demás
propiedades son opcionales. Solo se actualizarán las propiedades pasadas, todas
las demás permanecerán sin cambios.
Además de las propiedades estándar de la regla LLD, el método acepta los siguientes parámetros.
| Parámetro | Tipo | Descripción |
|---|---|---|
| filter | objeto | Filtro de regla LLD para reemplazar el filtro existente. |
| preprocessing | objeto/array | Opciones de preprocesamiento de regla LLD para reemplazar las opciones de preprocesamiento existentes. Comportamiento del parámetro: - solo lectura para objetos heredados |
| lld_macro_paths | objeto/array | Opciones de lld_macro_path de regla LLD para reemplazar las opciones de lld_macro_path existentes. Comportamiento del parámetro: - solo lectura para objetos heredados |
| overrides | objeto/array | Opciones de anulaciones de regla LLD para reemplazar las opciones de anulaciones existentes. Comportamiento del parámetro: - solo lectura para objetos heredados |
Valores de retorno
(object) Devuelve un objeto que contiene los IDs de las reglas LLD actualizadas
bajo la propiedad itemids.
Ejemplos
Añadir un filtro a una regla LLD
Añada un filtro para que el contenido de la macro {#FSTYPE} coincida con la expresión regular \@File systems for discovery.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "22450",
"filter": {
"evaltype": 1,
"conditions": [
{
"macro": "{#FSTYPE}",
"value": "@File systems for discovery"
}
]
}
},
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"22450"
]
},
"id": 1
}
Añadiendo rutas de macro LLD
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "22450",
"lld_macro_paths": [
{
"lld_macro": "{#MACRO1}",
"path": "$.json.path"
}
]
},
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"22450"
]
},
"id": 1
}
Deshabilitar trapping
Deshabilitar trapping de LLD para la regla de descubrimiento.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "28336",
"allow_traps": 0
},
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"28336"
]
},
"id": 1
}
Actualización de las opciones de preprocesamiento de la regla LLD
Actualizar una regla LLD con la regla de preprocesamiento “JSONPath”.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "44211",
"preprocessing": [
{
"type": 12,
"params": "$.path.to.json",
"error_handler": 2,
"error_handler_params": "5"
}
]
},
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44211"
]
},
"id": 1
}
Actualización del script de la regla LLD
Actualice un script de regla LLD con un script diferente y elimine los parámetros innecesarios que fueron utilizados por el script anterior.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "23865",
"parameters": [],
"script": "Zabbix.log(3, 'Log test');\nreturn 1;"
},
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"23865"
]
},
"id": 1
}
Actualizar la vida útil de la regla LLD
Actualizar la regla LLD para deshabilitar la entidad que ya no se descubre después de 12 horas y eliminarla después de 7 días.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "46864",
"lifetime_type": 0,
"lifetime": "7d",
"enabled_lifetime_type": 0,
"enabled_lifetime": "12h"
},
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"46864"
]
},
"id": 1
}
Fuente
CDiscoveryRule::update() en ui/include/classes/api/services/CDiscoveryRule.php.