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.
(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 |
(object)
Devuelve un objeto que contiene los IDs de las reglas LLD actualizadas bajo la propiedad itemids
.
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",
"method": "discoveryrule.update",
"params": {
"itemid": "22450",
"lld_macro_paths": [
{
"lld_macro": "{#MACRO1}",
"path": "$.json.path"
}
]
},
"id": 1
}
Respuesta:
Deshabilitar trapping de LLD para la regla de descubrimiento.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "28336",
"allow_traps": 0
},
"id": 1
}
Respuesta:
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:
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:
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:
CDiscoveryRule::update() en ui/include/classes/api/services/CDiscoveryRule.php.