object discoveryrule.create(object/array lldRules)
This method allows to create new LLD rules.此方法允许创建新的LLD规则。
(object/array)
LLD rules to create.
Additionally to the standard LLD rule properties, the method accepts the following parameters.除了标准LLD规则属性之外,该方法接受以下参数。
属性 类 | 说明 | |
---|---|---|
filter | object | LLD rule filter object for the LLD rule.LLD规则的LLD规则过滤器对象。 |
(object)
Returns an object containing the IDs of the created LLD rules under the itemids
property. The order of the returned IDs matches the order of the passed LLD rules.返回一个包含“itemid”属性下创建的LLD规则的ID的对象。 返回的ID的顺序与传递的LLD规则的顺序相匹配。
Create a Zabbix agent LLD rule to discover mounted file systems. Discovered items will be updated every 30 seconds.
Request:
{
"jsonrpc": "2.0",
"method": "discoveryrule.create",
"params": {
"name": "Mounted filesystem discovery",
"key_": "vfs.fs.discovery",
"hostid": "10197",
"type": "0",
"interfaceid": "112",
"delay": "30s"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
Create an LLD rule with a set of conditions to filter the results by. The conditions will be grouped together using the logical "and" operator.
Request:
{
"jsonrpc": "2.0",
"method": "discoveryrule.create",
"params": {
"name": "Filtered LLD rule",
"key_": "lld",
"hostid": "10116",
"type": "0",
"interfaceid": "13",
"delay": "30s",
"filter": {
"evaltype": 1,
"conditions": [
{
"macro": "{#MACRO1}",
"value": "@regex1"
},
{
"macro": "{#MACRO2}",
"value": "@regex2"
},
{
"macro": "{#MACRO3}",
"value": "@regex3"
}
]
}
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
Create an LLD rule with a filter that will use a custom expression to evaluate the conditions. The LLD rule must only discover objects the "{#MACRO1}" macro value of which matches both regular expression "regex1" and "regex2", and the value of "{#MACRO2}" matches either "regex3" or "regex4". The formula IDs "A", "B", "C" and "D" have been chosen arbitrarily.
Request:
{
"jsonrpc": "2.0",
"method": "discoveryrule.create",
"params": {
"name": "Filtered LLD rule",
"key_": "lld",
"hostid": "10116",
"type": "0",
"interfaceid": "13",
"delay": "30s",
"filter": {
"evaltype": 3,
"formula": "(A and B) and (C or D)",
"conditions": [
{
"macro": "{#MACRO1}",
"value": "@regex1",
"formulaid": "A"
},
{
"macro": "{#MACRO1}",
"value": "@regex2",
"formulaid": "B"
},
{
"macro": "{#MACRO2}",
"value": "@regex3",
"formulaid": "C"
},
{
"macro": "{#MACRO2}",
"value": "@regex4",
"formulaid": "D"
}
]
}
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
CDiscoveryRule::create() in frontends/php/include/classes/api/services/CDiscoveryRule.php.