integer/array discoveryrule.get(object parameters)
Метод дозволяє отримати правила LLD за заданими параметрами.
Цей спосіб доступний користувачам будь-якого типу. Дозволи на виклик методу можна скасувати в налаштуваннях ролі користувача. Див. Ролі користувача для отримання додаткової інформації.
(object) Параметри, що визначають бажаний результат.
Метод підтримує такі параметри.
| Параметр | Тип | Опис | 
|---|---|---|
| itemids | рядок/масив | Повертати лише правила LLD із заданими ідентифікаторами. | 
| groupids | string/array | Повертати лише правила LLD, які належать хостам із заданих груп. | 
| hostids | рядок/масив | Повертає лише правила LLD, які належать вказаним хостам. | 
| inherited | boolean | Якщо встановлено значення trueповертає лише правила LLD, успадковані з шаблону. | 
| interfaceids | string/array | Повернути лише правила LLD, які використовують задані інтерфейси хоста. | 
| monitored | boolean | Якщо встановлено значення trueповертає лише ввімкнені правила LLD, які належать контрольованим хостам. | 
| templated | boolean | Якщо встановлено значення true, повертати лише правила LLD, які належать до шаблонів. | 
| templateids | рядок/масив | Повертати лише правила LLD, які належать до вказаних шаблонів. | 
| selectFilter | запит | Повернути властивість filter із даними фільтра, який використовується правилом LLD. | 
| selectGraphs | запит | Повертає властивість graphs із прототипами графіків, які належать до правила LLD. Підтримує count. | 
| selectHostPrototypes | запит | Повертає властивість hostPrototypes із прототипами хостів, які належать до правила LLD. Підтримує count. | 
| selectHosts | запит | Повернути властивість hosts із масивом хостів, до яких належить правило LLD. | 
| selectItems | запит | Повертає властивість items із прототипами елементів, які належать до правила LLD. Підтримує count. | 
| selectTriggers | запит | Повертає властивість triggers із прототипами тригерів, які належать до правила LLD. Підтримує count. | 
| selectLLDMacroPaths | запит | Повернути властивість lld_macro_paths зі списком макросів LLD і шляхів до значень, призначених кожному відповідному макросу. | 
| selectPreprocessing | query | Повертає властивість попередньої обробкиз параметрами попередньої обробки правила LLD.Вона має такі властивості: type-(string)Тип параметра попередньої обробки:5 - Зіставлення регулярного виразу; 11 - XML XPath; 12 - JSONPath; 15 - Не відповідає регулярному виразу; 16 - Перевірте наявність помилок у JSON; 17 - Перевірте наявність помилок у форматі XML; 20 - Відкинути без змін із серцевим ритмом; 23 - Prometheus до JSON; 24 - CSV до JSON; 25 - Замінити; 27 - XML до JSON. параметри-(рядок)Додаткові параметри, які використовуються параметром попередньої обробки. Кілька параметрів розділені символом LF (\n).error_handler-(рядок)Тип дії, який використовується у випадку помилки етапу попередньої обробки:0 - повідомлення про помилку встановлено сервером Zabbix;<br >1 - Відкинути значення; 2 - Установити користувацьке значення; 3 - Установити власне повідомлення про помилку. error_handler_params-(рядок)Параметри обробника помилок. | 
| selectOverrides | запит | Повернути властивість lld_rule_overrides зі списком замінених фільтрів, умов і операцій, які виконуються над об’єктами-прототипами. | 
| фільтр | об'єкт | Повертає лише ті результати, які точно відповідають заданому фільтру. Приймає масив, де ключі є іменами властивостей, а значення є або одним значенням, або масивом значень для порівняння. Підтримує додаткові фільтри: host- технічна назва хоста, до якого належить правило LLD. | 
| limitSelects | ціле число | Обмежує кількість записів, що повертаються підвиборами. Застосовується до таких підвиборів: selctItems;selectGraphs;selectTriggers. | 
| sortfield | string/array | Відсортуйте результат за заданими властивостями. Можливі значення: itemid,name,key_,delay,typeіstatus. | 
| countOutput | boolean | Ці параметри, які є спільними для всіх методів get, детально описані в довідковому коментарі. | 
| редагований | логічний | |
| excludeSearch | boolean | |
| ліміт | ціле | |
| вивід | запит | |
| preservekeys | boolean | |
| пошук | об'єкт | |
| searchByAny | логічний | |
| увімкнено знаки підстановки | логічний | |
| порядок сортування | рядок/масив | |
| почати пошук | логічний | 
(integer/array) Повертає або:
countOutput.Отримати всі правила виявлення для певного ідентифікатора хоста.
Запит:
{
           "jsonrpc": "2.0",
           "method": "discoveryrule.get",
           "params": {
               "output": "extend",
               "hostids": "10202"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }Відповідь:
{
           "jsonrpc": "2.0",
           "result": [
               {
                   "itemid": "27425",
                   "type": "0",
                   "snmp_oid": "",
                   "hostid": "10202",
                   "name": "Network interface discovery",
                   "key_": "net.if.discovery",
                   "delay": "1h",
                   "status": "0",
                   "trapper_hosts": "",
                   "templateid": "22444",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "interfaceid": "119",
                   "description": "Discovery of network interfaces as defined in global regular expression \"Network interfaces for discovery\".",
                   "lifetime": "30d",
                   "jmx_endpoint": "",
                   "master_itemid": "0",
                   "timeout": "3s",
                   "url": "",
                   "query_fields": [],
                   "posts": "",
                   "status_codes": "200",
                   "follow_redirects": "1",
                   "post_type": "0",
                   "http_proxy": "",
                   "headers": [],
                   "retrieve_mode": "0",
                   "request_method": "0",
                   "ssl_cert_file": "",
                   "ssl_key_file": "",
                   "ssl_key_password": "",
                   "verify_peer": "0",
                   "verify_host": "0",
                   "allow_traps": "0",
                   "uuid": "",
                   "state": "0",
                   "error": "",
                   "parameters": []
               },
               {
                   "itemid": "27426",
                   "type": "0",
                   "snmp_oid": "",
                   "hostid": "10202",
                   "name": "Mounted filesystem discovery",
                   "key_": "vfs.fs.discovery",
                   "delay": "1h",
                   "status": "0",
                   "trapper_hosts": "",
                   "templateid": "22450",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "interfaceid": "119",
                   "description": "Discovery of file systems of different types as defined in global regular expression \"File systems for discovery\".",
                   "lifetime": "30d",
                   "jmx_endpoint": "",
                   "master_itemid": "0",
                   "timeout": "3s",
                   "url": "",
                   "query_fields": [],
                   "posts": "",
                   "status_codes": "200",
                   "follow_redirects": "1",
                   "post_type": "0",
                   "http_proxy": "",
                   "headers": [],
                   "retrieve_mode": "0",
                   "request_method": "0",
                   "ssl_cert_file": "",
                   "ssl_key_file": "",
                   "ssl_key_password": "",
                   "verify_peer": "0",
                   "verify_host": "0",
                   "allow_traps": "0",
                   "uuid": "",
                   "state": "0",
                   "error": "",
                   "parameters": []
               }
           ],
           "id": 1
       }Отримайте ім’я правила LLD «24681» та його умови фільтрації. Фільтр використовує тип оцінки "and", тому властивість formula порожня, а eval_formula генерується автоматично.
Запит:
{
           "jsonrpc": "2.0",
           "method": "discoveryrule.get",
           "params": {
               "output": ["name"],
               "selectFilter": "extend",
               "itemids": ["24681"]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }Відповідь:
{
           "jsonrpc": "2.0",
           "result": [
               {
                   "itemid": "24681",
                   "name": "Filtered LLD rule",
                   "filter": {
                       "evaltype": "1",
                       "formula": "",
                       "conditions": [
                           {
                               "macro": "{#MACRO1}",
                               "value": "@regex1",
                               "operator": "8",
                               "formulaid": "A"
                           },
                           {
                               "macro": "{#MACRO2}",
                               "value": "@regex2",
                               "operator": "9",
                               "formulaid": "B"
                           },
                           {
                               "macro": "{#MACRO3}",
                               "value": "",
                               "operator": "12",
                               "formulaid": "C"
                           },
                           {
                               "macro": "{#MACRO4}",
                               "value": "",
                               "operator": "13",
                               "formulaid": "D"
                           }
                       ],
                       "eval_formula": "A and B and C and D"
                   }
               }
           ],
           "id": 1
       }Отримати правило LLD для хоста за значенням поля URL-адреси правила. Підтримується лише точний збіг рядка URL-адреси, визначеного для правила LLD.
Запит:
{
           "jsonrpc": "2.0",
           "method": "discoveryrule.get",
           "params": {
               "hostids": "10257",
               "filter": {
                   "type": 19,
                   "url": "http://127.0.0.1/discoverer.php"
               }
           },
           "id": 39,
           "auth": "d678e0b85688ce578ff061bd29a20d3b"
       }Відповідь:
{
           "jsonrpc": "2.0",
           "result": [
               {
                   "itemid": "28336",
                   "type": "19",
                   "snmp_oid": "",
                   "hostid": "10257",
                   "name": "API HTTP agent",
                   "key_": "api_discovery_rule",
                   "delay": "5s",
                   "status": "0",
                   "trapper_hosts": "",
                   "templateid": "0",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "interfaceid": "5",
                   "description": "",
                   "lifetime": "30d",
                   "jmx_endpoint": "",
                   "master_itemid": "0",
                   "timeout": "3s",
                   "url": "http://127.0.0.1/discoverer.php",
                   "query_fields": [
                       {
                           "mode": "json"
                       },
                       {
                           "elements": "2"
                       }
                   ],
                   "posts": "",
                   "status_codes": "200",
                   "follow_redirects": "1",
                   "post_type": "0",
                   "http_proxy": "",
                   "headers": {
                       "X-Type": "api",
                       "Authorization": "Bearer mF_A.B5f-2.1JcM"
                   },
                   "retrieve_mode": "0",
                   "request_method": "1",
                   "ssl_cert_file": "",
                   "ssl_key_file": "",
                   "ssl_key_password": "",
                   "verify_peer": "0",
                   "verify_host": "0",
                   "allow_traps": "0",
                   "uuid": "",
                   "state": "0",
                   "error": "",
                   "parameters": []
               }
           ],
           "id": 39
       }Отримайте одне правило LLD, яке має різні налаштування заміни.
Запит:
{
           "jsonrpc": "2.0",
           "method": "discoveryrule.get",
           "params": {
               "output": ["name"],
               "itemids": "30980",
               "selectOverrides": ["name", "step", "stop", "filter", "operations"]
           },
           "id": 39,
           "auth": "d678e0b85688ce578ff061bd29a20d3b"
       }Відповідь:
{
           "jsonrpc": "2.0",
           "result": [
               {
                   "name": "Discover database host",
                   "overrides": [
                       {
                           "name": "Discover MySQL host",
                           "step": "1",
                           "stop": "1",
                           "filter": {
                               "evaltype": "2",
                               "formula": "",
                               "conditions": [
                                   {
                                       "macro": "{#UNIT.NAME}",
                                       "operator": "8",
                                       "value": "^mysqld\\.service$",
                                       "formulaid": "A"
                                   },
                                   {
                                       "macro": "{#UNIT.NAME}",
                                       "operator": "8",
                                       "value": "^mariadb\\.service$",
                                       "formulaid": "B"
                                   }
                               ],
                               "eval_formula": "A or B"
                           },
                           "operations": [
                               {
                                   "operationobject": "3",
                                   "operator": "2",
                                   "value": "Database host",
                                   "opstatus": {
                                       "status": "0"
                                   },
                                   "optag": [
                                       {
                                           "tag": "Database",
                                           "value": "MySQL"
                                       }
                                   ],
                                   "optemplate": [
                                       {
                                           "templateid": "10170"
                                       }
                                   ]
                               }
                           ]
                       },
                       {
                           "name": "Discover PostgreSQL host",
                           "step": "2",
                           "stop": "1",
                           "filter": {
                               "evaltype": "0",
                               "formula": "",
                               "conditions": [
                                   {
                                       "macro": "{#UNIT.NAME}",
                                       "operator": "8",
                                       "value": "^postgresql\\.service$",
                                       "formulaid": "A"
                                   }
                               ],
                               "eval_formula": "A"
                           },
                           "operations": [
                               {
                                   "operationobject": "3",
                                   "operator": "2",
                                   "value": "Database host",
                                   "opstatus": {
                                       "status": "0"
                                   },
                                   "optag": [
                                       {
                                           "tag": "Database",
                                           "value": "PostgreSQL"
                                       }
                                   ],
                                   "optemplate": [
                                       {
                                           "templateid": "10263"
                                       }
                                   ]
                               }
                           ]
                       }
                   ]
               }
           ],
           "id": 39
       }CDiscoveryRule::get() в ui/include/classes/api/services/CDiscoveryRule.php.