целое число/массив discoveryrule.get(объект параметры)
Этот метод позволяет получать правила LLD в соответствии с заданными параметрами.
(объект) Параметры задают желаемый вывод.
Этот метод поддерживает следующие параметры.
| Параметр | Тип | Описание |
|---|---|---|
| itemids | строка/массив | Возврат правил LLD только с заданными ID. |
| hostids | строка/массив | Возврат только тех правил LLD, которые принадлежат заданным узлам сети. |
| inherited | логический | Если задано значение true, возвращать только те правила LLD, которые унаследованы из шаблона. |
| interfaceids | строка/массив | Возврат только тех правил LLD, которые используют заданные интерфейсы узлов сети. |
| monitored | логический | Если задано значение true, возвращать только активированные правила LLD, которые принадлежат узлам сети под наблюдением. |
| templated | логический | Если задано значение true, возвращать только те правила LLD, которые принадлежат шаблонам. |
| templateids | строка/массив | Возврат только тех правил LLD, которые принадлежат заданным шаблонам. |
| selectFilter | запрос | Возврат фильтра, который используется правилом LLD, в свойстве filter. |
| selectGraphs | запрос | Возврат прототипов графиков, которые принадлежат правилу LLD, в свойстве graphs.Поддерживается count. |
| selectHostPrototypes | запрос | Возврат прототипов узлов сети, которые принадлежат правилу обнаружения, в свойстве hostPrototypes.Поддерживается count. |
| selectHosts | запрос | Возврат узла сети, которому принадлежит правило LLD, в виде массива в свойстве hosts. |
| selectItems | запрос | Возврат прототипов элементов данных, которые принадлежат правилу LLD, в свойстве items.Поддерживается count. |
| selectTriggers | запрос | Возврат прототипов триггеров, которые принадлежат правилу обнаружения, в свойстве triggers.Поддерживается count. |
| 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": "3600", "state": "0", "status": "0", "trapper_hosts": "", "snmpv3_securityname": "", "snmpv3_securitylevel": "0", "snmpv3_authpassphrase": "", "snmpv3_privpassphrase": "", "error": "", "templateid": "22444", "delay_flex": "", "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": "30", "snmpv3_authprotocol": "0", "snmpv3_privprotocol": "0" }, { "itemid": "27426", "type": "0", "snmp_community": "", "snmp_oid": "", "hostid": "10202", "name": "Mounted filesystem discovery", "key_": "vfs.fs.discovery", "delay": "3600", "state": "0", "status": "0", "trapper_hosts": "", "snmpv3_securityname": "", "snmpv3_securitylevel": "0", "snmpv3_authpassphrase": "", "snmpv3_privpassphrase": "", "error": "", "templateid": "22450", "delay_flex": "", "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": "30", "snmpv3_authprotocol": "0", "snmpv3_privprotocol": "0" } ], "id": 2 }Получение имени правила 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 }CDiscoveryRule::get() в frontends/php/include/classes/api/services/CDiscoveryRule.php.