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