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:
- 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:
- 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.

Solicitud:

{
           "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

Solicitud:

{
       "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.

Solicitud:

{
       "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".

Solicitud:

{
           "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.

Solicitud:

{
           "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
       }

Fuente

CDiscoveryRule::update() en ui/include/classes/api/services/CDiscoveryRule.php.