Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

Sidebar

Become a monitoring expert!
Sign up for Zabbix training

discoveryrule.update

Описание

объект discoveryrule.update(объект/массив lldRules)

Этот метод позволяет обновлять существующие правила LLD.

Параметры

(объект/массив) Свойства правил LLD, которые будут обновлены.

Свойство itemid должно быть указано по каждому правилу LLD, все остальные свойства опциональны. Будут обновлены только переданные свойства, все остальные останутся неизменными.

В дополнение к стандартным свойствам правила LLD, этот метод принимает следующие параметры.

Параметр Тип Описание
filter объект Объект фильтра правила 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"
                       }
                   ]
               }
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "22450"
               ]
           },
           "id": 1
       }

Отключение трапов

Отключение трапов у LLD правила обнаружения.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.update",
           "params": {
               "itemid": "28336",
               "allow_traps": "0"
           },
           "id": 36,
           "auth": "d678e0b85688ce578ff061bd29a20d3b"
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "28336"
               ]
           },
           "id": 36
       }

Исходный код

CDiscoveryRule::update() в frontends/php/include/classes/api/services/CDiscoveryRule.php.

Updating LLD rule preprocessing options

Update an LLD rule with preprocessing rule “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
       }

Updating LLD rule script

Update an LLD rule script with a different script and remove unnecessary parameters that were used by previous script.

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
       }

Source

CDiscoveryRule::update() in ui/include/classes/api/services/CDiscoveryRule.php.