целое число/массив 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.