Sidebar

Zabbix Summit 2022
View presentations

discoveryrule.update

Descrição

object discoveryrule.update(object/array lldRules)

Este método permite atualizar as regras LLD existentes.

Este método está disponível apenas para os tipos de usuário Admin e Super admin. As permissões para chamar o método podem ser revogadas nas configurações de função do usuário. Consulte User roles para obter mais informações.

Parâmetros

(object/array) Propriedades da regra LLD a serem atualizadas.

A propriedade itemid deve ser definida para cada regra LLD, todas as outras propriedades são opcionais. Apenas as propriedades passadas serão atualizadas, todas as outras permanecerão inalteradas.

Além das propriedades da regra LLD padrão, o método aceita os seguintes parâmetros.

Parâmetros Tipo Descrição
filter object LLD regra filter objeto para substituir o filtro atual.
preprocessing array Regra LLD preprocessing opções para substituir as opções de pré-processamento atuais.
lld_macro_paths array Opções da regra LLD lld_macro_path.
overrides array Opções da regra LLD overrides.

Valores de retorno

(object) Retorna um objeto contendo os IDs das regras LLD atualizadas na propriedade itemids.

Exemplos

Adicionando um filtro a uma regra LLD

Adicione um filtro para que o conteúdo da macro {#FSTYPE} corresponda ao regexp @File systems for discovery.

Request:

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

Response:

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

Adicionando caminhos de macro LLD

Request:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.update",
           "params": {
               "itemid": "22450",
               "lld_macro_paths": [
                   {
                       "lld_macro": "{#MACRO1}",
                       "path": "$.json.path"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

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

Desativar trapping

Desativar regra de descoberta para LLD trapping.

Request:

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

Response:

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

Atualizando opções de pré-processamento de regra LLD

Atualizar uma regra LLD com a regra de pré-processamento “JSONPath”.

Request:

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

Response:

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

Atualizando script de regra LLD

Atualize um script de regra LLD com um script diferente e remova parâmetros desnecessários que foram usados pelo script anterior.

Request:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.update",
           "params": {
               "itemid": "23865",
               "parameters": [],
               "script": "Zabbix.Log(3, 'Log test');\nreturn 1;"
           },
           "auth": "700ca65537074ec963db7efabda78259",
           "id": 1
       }

Response:

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

Fonte

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