discoveryrule.get
Description 说明
integer/array discoveryrule.get(object **parameters**)
The method allows to retrieve LLD rules according to the given parameters. 此方法允许根据给定的参数获取LLD规则。
Parameters 参数
(object)
Parameters defining the desired output. (object)
参数定义期望输出。
The method supports the following parameters. 此方法支持如下参数。
Parameter | Type | Description |
---|---|---|
itemids | string/array | Return only LLD rules with the given IDs. 返回给定IDs的LLD规则。 |
hostids | string/array | Return only LLD rules that belong to the given hosts. 返回属于给定主机的LLD规则。 |
inherited | boolean | If set to true return only LLD rules inherited from a template. 如果设为true ,返回自称自某模板的LLD规则。 |
interfaceids | string/array | Return only LLD rules use the given host interfaces. 返回使用给定主机接口的LLD规则。 |
monitored | boolean | If set to true return only enabled LLD rules that belong to monitored hosts. 如果设为true ,返回已经启用的属于已监控主机的LLD规则。 |
templated | boolean | If set to true return only LLD rules that belong to templates. 如果设为true ,返回属于(多个)模板的LLD规则。 |
templateids | string/array | Return only LLD rules that belong to the given templates. 返回属于给定给定模板的LLD规则。 |
selectFilter | query | Returns the filter used by the LLD rule in the filter property. 在filter 中返回LLD使用的筛选器。 |
selectGraphs | query | Returns graph prototypes that belong to the LLD rule in the graphs property. 在graphs 属性中返回属于LLD规则的图表原型。Supports count . |
selectHostPrototypes | query | Returns host prototypes that belong to the LLD rule in the hostPrototypes property. 在hostPrototypes 属性中返回属于该LLD规则的主机原型。Supports count . |
selectHosts | query | Returns the host that the LLD rule belongs to as an array in the hosts property. 在hosts 属性下以数组形式返回属于该LLD规则的主机。 |
selectItems | query | Returns item prototypes that belong to the LLD rule in the items property. 在items 下返回属于该LLD规则的item。Supports count . |
selectTriggers | query | Returns trigger prototypes that belong to the LLD rule in the triggers property. 在triggers 属性下返回属于该触发器原型。Supports count . |
filter | object | Return only those results that exactly match the given filter. 仅返回紧缺匹配给定筛选条件的结果。 Accepts an array, where the keys are property names, and the values are either a single value or an array of values to match against. 接受一个数组,这些数组的键为属性名称,值是一个或数组中的值的要匹配的值。 Supports additional filters: host - technical name of the host that the LLD rule belongs to. |
limitSelects | integer | Limits the number of records returned by subselects. 限制子选择返回的结果的数量。 Applies to the following subselects: selctItems ;selectGraphs ;selectTriggers . |
sortfield | string/array | Sort the result by the given properties. 根据给定的属性把结果进行排序。 Possible values are: itemid , name , key_ , delay , type and status . |
countOutput | boolean | These parameters being common for all get methods are described in detail in the reference commentary. |
editable | boolean | |
excludeSearch | boolean | |
limit | integer | |
output | query | |
preservekeys | boolean | |
search | object | |
searchByAny | boolean | |
searchWildcardsEnabled | boolean | |
sortorder | string/array | |
startSearch | boolean |
Return values 返回值
(integer/array)
Returns either:
an array of objects;
the count of retrieved objects, if the
countOutput
parameter has been used.
Examples 示例
Retrieving discovery rules from a host 从一个主机获取多有的发现规则
Retrieve all discovery rules from host “10202”. 获取主机“10202”所有的发现规则。
Request:
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": "extend",
"hostids": "10202"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
{
"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": "1",
"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": "1",
"ssl_cert_file": "",
"ssl_key_file": "",
"ssl_key_password": "",
"verify_peer": "0",
"verify_host": "0",
"allow_traps": "0"
}
],
"id": 1
}
Retrieving filter conditions
Retrieve the name of the LLD rule “24681” and its filter conditions. The filter uses the “and” evaluation type, so the formula
property is empty and eval_formula
is generated automatically.
Request:
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": [
"name"
],
"selectFilter": "extend",
"itemids": ["24681"]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
{
"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
}
Retrieve LLD rule by URL 根据URL获取LLD规则
Retrieve LLD rule for host by rule URL field value. Only exact match of URL string defined for LLD rule is supported. 根据主机的规则URL字段值获取LLD规则。仅返回精确匹配定义的URL字符串的规则。
Request:
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"hostids": "10257",
"filter": {
"type": "19",
"url": "http://127.0.0.1/discoverer.php"
}
},
"id": 39,
"auth": "d678e0b85688ce578ff061bd29a20d3b"
}
Response:
{
"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": "",
"lastlogsize": "0",
"logtimefmt": "",
"templateid": "0",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"mtime": "0",
"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
}
See also
Source
CDiscoveryRule::get() in frontends/php/include/classes/api/services/CDiscoveryRule.php.