Zabbix Documentation 5.0

Sidebar

更新

说明

object discoveryrule.update(object/array lldRules)

此方法允许更新已存在的LLD规则。

参数

(object/array) 要更新的LLD规则属性。

每个LLD规则的itemid属性必须被定义,其他属性为可选。值传递要被更新的属性,其他属性保持不变。

另外见标准的LLD规则属性,此方法接受如下参数。

属性 类 描述
filter object LLD规则LLD规则的过滤对象
preprocessing array LLD规则预处理选项
lld_macro_paths array LLD规则预处理选项
overrides array LLD规则覆盖选项

返回值

(object)itemids属性下返回一个包含被更新的LLD规则的IDs。

示例

为LLD规则添加一个筛选器

添加一个过滤器,以便{#FSTYPE}宏的内容与lld发现规则 @File systems for discovery的正则表达式匹配。

请求:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.update",
           "params": {
               "itemid": "22450",
               "filter": {
                   "evaltype": 1,
                   "conditions": [
                       {
                           "macro": "{#FSTYPE}",
                           "value": "@File systems for discovery"
                       }
                   ]
               }
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "22450"
               ]
           },
           "id": 1
       }

禁用trapping

禁用LLD trapping 发现规则。

请求:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.update",
           "params": {
               "itemid": "22450",
               "lld_macro_paths": [
                   {
                       "lld_macro": "{#MACRO1}",
                       "path": "$.json.path"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "28336"
               ]
           },
           "id": 36
       }

来源

CDiscoveryRule::update() in frontends/php/include/classes/api/services/CDiscoveryRule.php.

Updating LLD rule preprocessing options

Update an LLD rule with preprocessing rule “JSONPath”.

Request:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.update",
           "params": {
               "itemid": "44211",
               "preprocessing": [
                   {
                       "type": "12",
                       "params": "$.path.to.json",
                       "error_handler": "2",
                       "error_handler_params": "5"
                   }
               ]
           },
           "auth": "700ca65537074ec963db7efabda78259",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "44211"
               ]
           },
           "id": 1
       }

Source

CDiscoveryRule::update() in ui/include/classes/api/services/CDiscoveryRule.php.