discoveryrule.update
Опис
object discoveryrule.update(object/array lldRules)
Овај метод омогућава ажурирање постојећих LLD правила.
Ова метода је доступна само типовима корисника Администратор и Супер администратор. Дозволе за позивање методе могу се опозвати у подешавањима улога корисника. Погледајте User roles за више информација.
Параметри
Својства LLD правила (object/array) треба ажурирати.
Својство itemid мора бити дефинисано за свако LLD правило, сва остала
својства су опциона. Биће ажурирана само прослеђена својства, сва
други ће остати непромењена.
Поред standard LLD rule properties, метода прихвата следеће параметре.
| Parameter | Type | Description |
|---|---|---|
| filter | object | LLD rule filter за замену постојећег филтера. |
| preprocessing | object/array | LLD rule preprocessing опције за замену постојећих опција за претходну обраду. Parameter behavior: - само за читање за наслеђене објекте |
| lld_macro_paths | object/array | LLD rule lld_macro_path опције за замену постојећих опција lld_macro_path. < br>Parameter behavior: - само за читање за наслеђене објекте |
| (/manual/api/reference/discoveryrule/object#lld_rule_overrides) опције за замену постојећих опција замене. Parameter behavior: - само за читање за наслеђене објекте |
Повратне вредности
(object)Враћа објекат који садржи ID-ијеве ажурираних LLD правила под својством itemids.
Примери
Додавање филтера LLD правилу
Додајте филтер како би садржај {#FSTYPE} макроа одговарао \@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
}
```Одговор:
```json
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"22450"
]
},
"id": 1
}
Додавање LLD макро путања
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "22450",
"lld_macro_paths": [
{
"lld_macro": "{#MACRO1}",
"path": "$.json.path"
}
]
},
"id": 1
}
Одговор:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"22450"
]
},
"id": 1
}
Онемогући пресретање
Онемогући LLD пресретање за правило откривања.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "28336",
"allow_traps": 0
},
"id": 1
}
Одговор:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"28336"
]
},
"id": 1
}
Ажурирање опција за претходну обраду LLD правила
Ажурирајте LLD правило правилом за претходну обраду “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
}
Одговор:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44211"
]
},
"id": 1
}
Ажурирање скрипте LLD правила
Ажурирајте скрипту LLD правила другом скриптом и уклоните непотребне параметре које је користила претходна скрипта.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "23865",
"parameters": [],
"script": "Zabbix.log(3, 'Log test');\nreturn 1;"
},
"id": 1
}
Одговор:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"23865"
]
},
"id": 1
}
Ажурирање трајања LLD правила
Ажурирајте LLD правило да бисте онемогућили ентитет који више није откривен након 12 сати и да бисте га избрисали након 7 дана.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "46864",
"lifetime_type": 0,
"lifetime": "7d",
"enabled_lifetime_type": 0,
"enabled_lifetime": "12h"
},
"id": 1
}
Одговор:
json
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"46864"
]
},
"id": 1
}
Извор
CDiscoveryRule::update() у ui/include/classes/api/services/CDiscoveryRule.php.