целое число/массив discoveryrule.get(объект параметры)
Этот метод позволяет получать правила LLD в соответствии с заданными параметрами.
(объект) Параметры задают желаемый вывод.
Этот метод поддерживает следующие параметры.
| Параметр | Тип | Описание | 
|---|---|---|
| itemids | строка/массив | Возврат правил LLD только с заданными ID. | 
| hostids | строка/массив | Возврат только тех правил LLD, которые принадлежат заданным узлам сети. | 
| inherited | логический | Если задано значение true, возвращать только те правила LLD, которые унаследованы из шаблона. | 
| interfaceids | строка/массив | Возврат только тех правил LLD, которые используют заданные интерфейсы узлов сети. | 
| monitored | логический | Если задано значение true, возвращать только активированные правила LLD, которые принадлежат узлам сети под наблюдением. | 
| templated | логический | Если задано значение true, возвращать только те правила LLD, которые принадлежат шаблонам. | 
| templateids | строка/массив | Возврат только тех правил LLD, которые принадлежат заданным шаблонам. | 
| selectFilter | запрос | Возврат свойства filterс данными фильтра, который используется правилом LLD. | 
| selectGraphs | запрос | Возврат свойства graphs с прототипами графиков, которые принадлежат правилу LLD. Поддерживается count. | 
| selectHostPrototypes | запрос | Возврат свойства hostPrototypes с прототипами узлов сети, которые принадлежат правилу обнаружения. Поддерживается count. | 
| selectHosts | запрос | Возврат свойства hosts с массивом узлов сети, которым принадлежит правило LLD. | 
| selectItems | запрос | Возврат свойства items с прототипами элементов данных, которые принадлежат правилу LLD. Поддерживается count. | 
| selectTriggers | запрос | Возврат свойства triggers с прототипами триггеров, которые принадлежат правилу обнаружения. Поддерживается count. | 
| selectApplicationPrototypes | запрос | Возврат свойства applicationPrototypesс прототипами групп элементов данных, которые принадлежат всем прототипам элементов данных, которые принадлежат правилу LLD. | 
| selectLLDMacroPaths | запрос | Возврат свойства lld_macro_pathsсо списком LLD макросов и путей к значениям, которые назначены каждому соответствующему макросу. | 
| selectPreprocessing | запрос | Возврат свойства preprocessingс опциями предобработки LLD правила.Этот параметр имеет следующие свойства: type-(строка)Тип опции предобработки:5 - Соответствие регулярному выражению; 11 - XML XPath; 12 - JSONPath; 15 - Отсутствие соответствия регулярному выражению; 16 - Проверка на ошибку в JSON; 17 - Проверка на ошибку в XML; 20 - Отбрасывать не изменившееся с периодическим контролем; 23 - Prometheus в JSON. params-(строка)Дополнительные параметры, которые используются опцией предобработки. Несколько параметров разделяются символом LF (\n).error_handler-(строка)Тип действия, которое используется при ошибке в шаге предобработки:0 - Сообщение об ошибке, которое задается Zabbix сервером; 1 - Отбрасывать значение; 2 - Задать пользовательское значение; 3 - Задать пользовательское сообщение об ошибке. error_handler_params-(строка)Параметры обработчика ошибок. | 
| filter | объект | Возврат только тех результатов, которые в точности соответствуют заданному фильтру. Принимает массив, где ключи являются именами свойств и значения, которые являются либо одним значением, либо массивом сопоставляемых значений. Поддерживает дополнительные фильтры: host- техническое имя узла сети, которому принадлежит правило LLD. | 
| limitSelects | целое число | Ограничение количества записей, возвращаемых подзапросами. Применимо только к следующим подзапросам: selctItems;selectGraphs;selectTriggers. | 
| sortfield | строка/массив | Сортировка результата в соответствии с заданными свойствами. Возможные значения: itemid,name,key_,delay,typeиstatus. | 
| countOutput | логический | Эти параметры являются общими для всех методов getи они описаны в справочных комментариях. | 
| editable | логический | |
| excludeSearch | логический | |
| limit | целое число | |
| output | запрос | |
| preservekeys | логический | |
| search | объект | |
| searchByAny | логический | |
| searchWildcardsEnabled | логический | |
| sortorder | строка/массив | |
| startSearch | логический | 
(целое число/массив) Возвращает либо:
countOutput.Получение всех правил обнаружения с узла сети "10202".
Запрос:
{
           "jsonrpc": "2.0",
           "method": "discoveryrule.get",
           "params": {
               "output": "extend",
               "hostids": "10202"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }Ответ:
{
           "jsonrpc": "2.0",
           "result": [
               {
                   "itemid": "27425",
                   "type": "0",
                   "snmp_community": "",
                   "snmp_oid": "",
                   "hostid": "10202",
                   "name": "Network interface discovery",
                   "key_": "net.if.discovery",
                   "delay": "1h",
                   "state": "0",
                   "status": "0",
                   "trapper_hosts": "",
                   "snmpv3_securityname": "",
                   "snmpv3_securitylevel": "0",
                   "snmpv3_authpassphrase": "",
                   "snmpv3_privpassphrase": "",
                   "error": "",
                   "templateid": "22444",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "interfaceid": "119",
                   "port": "",
                   "description": "Discovery of network interfaces as defined in global regular expression \"Network interfaces for discovery\".",
                   "lifetime": "30d",
                   "snmpv3_authprotocol": "0",
                   "snmpv3_privprotocol": "0",
                   "snmpv3_contextname": "",
                   "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"
               },
               {
                   "itemid": "27426",
                   "type": "0",
                   "snmp_community": "",
                   "snmp_oid": "",
                   "hostid": "10202",
                   "name": "Mounted filesystem discovery",
                   "key_": "vfs.fs.discovery",
                   "delay": "1h",
                   "state": "0",
                   "status": "0",
                   "trapper_hosts": "",
                   "snmpv3_securityname": "",
                   "snmpv3_securitylevel": "0",
                   "snmpv3_authpassphrase": "",
                   "snmpv3_privpassphrase": "",
                   "error": "",
                   "templateid": "22450",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "interfaceid": "119",
                   "port": "",
                   "description": "Discovery of file systems of different types as defined in global regular expression \"File systems for discovery\".",
                   "lifetime": "30d",
                   "snmpv3_authprotocol": "0",
                   "snmpv3_privprotocol": "0",
                   "snmpv3_contextname": "",
                   "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"
               }
           ],
           "id": 1
       }Получение имени правила LLD "24681" и условий фильтрации этого правила. Фильтр использует "и" тип вычисления, таким образом свойство 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": "8",
                               "formulaid": "B"
                           },
                           {
                               "macro": "{#MACRO3}",
                               "value": "@regex3",
                               "operator": "8",
                               "formulaid": "C"
                           }
                       ],
                       "eval_formula": "A and B and C"
                   }
               }
           ],
           "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_community": "",
                   "snmp_oid": "",
                   "hostid": "10257",
                   "name": "API HTTP agent",
                   "key_": "api_discovery_rule",
                   "delay": "5s",
                   "history": "90d",
                   "trends": "0",
                   "status": "0",
                   "value_type": "4",
                   "trapper_hosts": "",
                   "units": "",
                   "snmpv3_securityname": "",
                   "snmpv3_securitylevel": "0",
                   "snmpv3_authpassphrase": "",
                   "snmpv3_privpassphrase": "",
                   "error": "",
                   "logtimefmt": "",
                   "templateid": "0",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "flags": "1",
                   "interfaceid": "5",
                   "port": "",
                   "description": "",
                   "inventory_link": "0",
                   "lifetime": "30d",
                   "snmpv3_authprotocol": "0",
                   "snmpv3_privprotocol": "0",
                   "state": "0",
                   "snmpv3_contextname": "",
                   "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"
               }
           ],
           "id": 39
       }CDiscoveryRule::get() в frontends/php/include/classes/api/services/CDiscoveryRule.php.