Você está visualizando a documentação da versão de desenvolvimento, que pode estar incompleta.
Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

discoveryrule.update

Descrição

object discoveryrule.update(object/array lldRules)

Este método permite atualizar 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 de usuário. Veja Funções de usuário para 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. Somente as propriedades passadas serão atualizadas, todas as outras permanecerão inalteradas.

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

Parâmetro Tipo Descrição
filter object Filtro da regra LLD para substituir o filtro existente.
preprocessing object/array Opções de pré-processamento da regra LLD para substituir as opções de pré-processamento existentes.

Comportamento do parâmetro:
- somente leitura para objetos herdados
lld_macro_paths object/array Opções de lld_macro_path da regra LLD para substituir as opções de lld_macro_path existentes.

Comportamento do parâmetro:
- somente leitura para objetos herdados
overrides object/array Opções de substituições da regra LLD para substituir as opções de substituições existentes.

Comportamento do parâmetro:
- somente leitura para objetos herdados

Valores de retorno

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

Exemplos

Adicionando um filtro a uma regra de LLD

Adicione um filtro para que o conteúdo da macro {#FSTYPE} corresponda à expressão regular @File systems for discovery.

Requisição:

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

Resposta:

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

Adicionando caminhos de macro LLD

Requisição:

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

Resposta:

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

Desabilitar trapping

Desabilitar trapping de LLD para a regra de descoberta.

Requisição:

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

Resposta:

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

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

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

Requisição:

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

Resposta:

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

Atualizando o script da regra de LLD

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

Requisição:

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

Resposta:

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

Atualizando o tempo de vida da regra de LLD

Atualize a regra de LLD para desabilitar a entidade não descoberta após 12 horas e excluí-la após 7 dias.

Requisição:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.update",
           "params": {
               "itemid": "46864",
               "lifetime_type": 0, 
               "lifetime": "7d",
               "enabled_lifetime_type": 0,
               "enabled_lifetime": "12h"
           },
           "id": 1
       }

Resposta:

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

Fonte

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