discoveryrule.update
Descripción
object discoveryrule.update(object/array lldRules)
Este método permite actualizar las reglas LLD existentes.
Este método solo está disponible para los tipos de usuario Administrador y Superadministrador. Los permisos para llamar al método se pueden revocar en la configuración del rol de usuario. Ver Roles de usuario para más información.
Parámetros
(objeto/matriz) Propiedades de la regla LLD que se actualizarán.
La propiedad itemid debe definirse para cada regla LLD, todas las demás
propiedades son opcionales. Sólo se actualizarán las propiedades pasadas, todas
las otras permanecerán sin cambios.
Además de las [propiedades de regla LLD estándar] (object#lld_rule), el método acepta los siguientes parámetros.
| Parámetro | Tipo | Descripción |
|---|---|---|
| filter | objeto | Filtro de regla LLD para reemplazar el filtro actual. |
| preprocessing | matriz | Opciones de preprocesamiento de regla LLD para reemplazar las opciones de preprocesamiento existentes. [Comportamiento de parámetros](/manual/api/reference_commentary# parámetro-comportamiento): - solo lectura para objetos heredados |
| lld_macro_paths | matriz | Opciones de regla LLD lld_macro_path para reemplazar las opciones lld_macro_path existentes. Comportamiento de parámetros: - solo lectura para objetos heredados |
| overrides | array | Opciones de regla LLD overrides para reemplazar las opciones de anulación existentes. [Comportamiento de parámetros](/manual/api/reference_commentary# parámetro-comportamiento): - solo lectura para objetos heredados |
Valores de retorno
(objeto) Devuelve un objeto que contiene los ID de las reglas LLD actualizadas
bajo la propiedad "itemids".
Ejemplos
Agregar un filtro a una regla LLD
Agregue un filtro para que el contenido de la macro {#FSTYPE} coincida la expresión regular \@Sistemas de archivos para descubrimiento.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "22450",
"filter": {
"evaltype": 1,
"conditions": [
{
"macro": "{#FSTYPE}",
"value": "@Sistemas de archivos para descubrimiento"
}
]
}
},
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"22450"
]
},
"id": 1
}
Agregar rutas de macro LLD
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "22450",
"lld_macro_paths": [
{
"lld_macro": "{#MACRO1}",
"path": "$.json.path"
}
]
},
"id": 1
}
Response:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"22450"
]
},
"id": 1
}
Desactivar captura
Deshabilite la captura 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 reglas LLD
Actualice 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 regla LLD
Actualice una secuencia de comandos de regla LLD con una secuencia de comandos diferente y elimine las innecesarias. parámetros 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
}
Actualización de la duración de la regla LLD
Actualice 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.