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.