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 demás 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 Regla LLD filtro para reemplazar el filtro actual.
preprocessing matriz Opciones de regla LLD preprocesamiento para reemplazar las opciones de preprocesamiento existentes.
lld_macro_paths matriz Opciones de regla LLD lld_macro_path para reemplazar las opciones lld_macro_path existentes.
overrides matriz Opciones de regla LLD overrides para reemplazar las opciones de anulación existentes.

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 con la expresión regular @File systems for discover.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.update",
           "params": {
               "itemid": "22450",
               "filter": {
                   "evaltype": 1,
                   "conditions": [
                       {
                           "macro": "{#FSTYPE}",
                           "value": "@File systems for discovery"
                       }
                   ]
               }
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "22450"
               ]
           },
           "id": 1
       }

Desactivar captura

Desactivar la captura de LLD para la regla de descubrimiento.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.update",
           "params": {
               "itemid": "28336",
               "allow_traps": 0
           },
           "id": 36,
           "auth": "d678e0b85688ce578ff061bd29a20d3b"
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "28336"
               ]
           },
           "id": 36
       }

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"
                   }
               ]
           },
           "auth": "700ca65537074ec963db7efabda78259",
           "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 los parámetros innecesarios 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;"
           },
           "auth": "700ca65537074ec963db7efabda78259",
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "23865"
               ]
           },
           "id": 1
       }

Fuente

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