This is a translation of the original English documentation page. Help us make it better.

discoveryrule.update

Опис

object discoveryrule.update(object/array lldRules)

Цей метод дозволяє оновити існуючі правила LLD.

Цей метод доступний лише для користувачів типу Admin і Super admin. Дозволи на виклик методу можна скасувати в налаштуваннях ролі користувача. Див. Ролі користувача для отримання додаткової інформації.

Параметри

Властивості правила LLD (object/array) буде оновлено.

Властивість itemid має бути визначена для кожного правила LLD, усі інші властивості необов’язкові. Будуть оновлені лише передані властивості, всі інші залишаться незмінними.

На додаток до [стандартних властивостей правила LLD] (object#lld_rule), метод приймає наступні параметри.

Параметр Тип Опис
filter object об’єкт правила LLD filter для заміни поточного фільтра.
попередня обробка масив Параметри [попередньої обробки] правила LLD (/manual/api/reference/discoveryrule/object#lld_rule_preprocessing) для заміни поточних параметрів попередньої обробки.
lld_macro_paths масив Параметри правила LLD lld_macro_path.
замінює масив Параметри правила LLD замінює.

Повернуті значення

(object) Повертає об’єкт, що містить ідентифікатори оновлених правил 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": "22450",
               "lld_macro_paths": [
                   {
                       "lld_macro": "{#MACRO1}",
                       "path": "$.json.path"
                   }
               ]
           },
           "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
       }

Оновлення параметрів попередньої обробки правила 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"
                   }
               ]
           },
           "auth": "700ca65537074ec963db7efabda78259",
           "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;"
           },
           "auth": "700ca65537074ec963db7efabda78259",
           "id": 1
       }

Відповідь:

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

Джерело

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