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