object discoveryrule.create(object/array lldRules)
此方法允许创建新的LLD规则。
(object/array) 要创建的LLD规则。
除了标准LLD规则属性之外,该方法还接受以下参数。
| 属性 类 | 描述 | |
|---|---|---|
| filter | object | LLD规则LLD规则的过滤对象。 |
| preprocessing | array | LLD规则预处理选项。 |
| lld_macro_paths | array | LLD规则预处理选项。 |
| overrides | array | LLD规则覆盖选项。 |
(object) 在itemids属性下返回一个包含IDs的被创建的LLD规则。返回的IDs的顺序与传递的LLD规则顺序相匹配。
创建Zabbix agent LLD规则去发现以已装入的文件系统。发现监控项(items)将被每30s被更新一次。
请求:
{ "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 }响应:
创建有由一套删选条件的得到的LLD规则。这些条件将使用逻辑“和”运算符将条件组合在一起。
请求:
{ "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 }响应:
创建一个带有过滤器的LLD规则,该过滤器将使用自定义表达式来计算条件。LLD规则必须只发现“{#MACRO1}”宏值同时匹配正则表达式“regex1”和“regex2”的对象,“{#MACRO2}”宏值同时匹配“regex3”或“regex4”的对象。公式id“A”、“B”、“C”和“D”是任意选择的。
请求:
{ "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 }响应:
创建具有自定义查询字段和标题的LLD规则。
请求:
{ "jsonrpc": "2.0", "method": "discoveryrule.create", "params": { "hostid": "10257", "interfaceid": "5", "type": "19", "name": "API HTTP agent", "key_": "api_discovery_rule", "value_type": "3", "delay": "5s", "url": "http://127.0.0.1?discoverer.php", "query_fields": [ { "mode": "json" }, { "elements":"2" } ], "headers": { "X-Type": "api", "Authorization": "Bearer mF_A.B5f-2.1JcM" }, "allow_traps": "1", "trapper_hosts": "127.0.0.1", "id": 35, "auth": "d678e0b85688ce578ff061bd29a20d3b", } }响应:
CDiscoveryRule::create() in frontends/php/include/classes/api/services/CDiscoveryRule.php.
Request:
{ "jsonrpc": "2.0", "method": "discoveryrule.create", "params": { "name": "Discover database host", "key_": "lld.with.overrides", "hostid": "10001", "type": 0, "value_type": 3, "delay": "60s", "interfaceid": "1155", "overrides": [ { "name": "Discover MySQL host", "step": "1", "stop": "1", "filter": { "evaltype": "2", "conditions": [ { "macro": "{#UNIT.NAME}", "operator": "8", "value": "^mysqld\\.service$" }, { "macro": "{#UNIT.NAME}", "operator": "8", "value": "^mariadb\\.service$" } ] }, "operations": [ { "operationobject": "3", "operator": "2", "value": "Database host", "opstatus": { "status": "0" }, "optemplate": [ { "templateid": "10170" } ] } ] }, { "name": "Discover PostgreSQL host", "step": "2", "stop": "1", "filter": { "evaltype": "0", "conditions": [ { "macro": "{#UNIT.NAME}", "operator": "8", "value": "^postgresql\\.service$" } ] }, "operations": [ { "operationobject": "3", "operator": "2", "value": "Database host", "opstatus": { "status": "0" }, "optemplate": [ { "templateid": "10263" } ] } ] } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }Response:
CDiscoveryRule::create() in ui/include/classes/api/services/CDiscoveryRule.php.