discoveryrule.update
Описание
object discoveryrule.update(объект/массив lldRules)
Этот метод позволяет обновлять существующие правила LLD.
Этот метод доступен только пользователям с типом доступа Администратор и Супер-администратор. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.
Параметры
(object/array) Свойства правила LLD, которые необходимо обновить.
Для каждого правила LLD должно быть определено свойство itemid, все остальные
свойства являются необязательными. Будут обновлены только переданные свойства, все
остальные останутся без изменений.
Помимо стандартных свойств правила LLD, метод принимает следующие параметры.
| Parameter | Type | Description |
|---|---|---|
| filter | object | Фильтр правила LLD для замены существующего фильтра. |
| preprocessing | object/array | Параметры предобработки правила LLD для замены существующих параметров предобработки. Поведение параметра: - только для чтения для унаследованных объектов |
| lld_macro_paths | object/array | Параметры lld_macro_path правила LLD для замены существующих параметров lld_macro_path. Поведение параметра: - только для чтения для унаследованных объектов |
| overrides | object/array | Параметры переопределений правила LLD для замены существующих параметров переопределений. Поведение параметра: - только для чтения для унаследованных объектов |
Возвращаемые значения
(объект) Возвращает объект, который содержит 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
}
Ответ:
{
"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
}
Отключение trapping
Отключить LLD trapping для правила обнаружения.
{
"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
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"46864"
]
},
"id": 1
}
Источник
CDiscoveryRule::update() в ui/include/classes/api/services/CDiscoveryRule.php.