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