This is a translation of the original English documentation page. Help us make it better.

discoveryrule.update

説明

object discoveryrule.update(object/array lldRules)

このメソッドで、既存のローレベルディスカバリルールを更新できます。

このメソッドはAdminおよびSuper adminユーザータイプでのみ使用できます。 メソッドを呼び出す権限は、ユーザーロール設定で取り消すことができます。 詳細についてはユーザーの役割を参照してください。

パラメータ

(object/array) 更新されるLLDルールのプロパティ。

itemidプロパティはLLDルールごとに定義する必要があり、すべてのプロパティはオプションです。 渡されたプロパティのみが更新され、他のプロパティは変更されません。

このメソッドは標準のLLDルールプロパティに加えて、次のパラメーターを受け入れます。

パラメータ タイプ 説明
filter object LLDルールフィルターオブジェクトを使用して現在のフィルターを置き換えます
preprocessing array LLDルール事前処理オプションを使用して、現在の事前処理オプションを置き換えます。
lld_macro_paths array LLDルールlld_macro_pathオプション
overrides array LLDルールオーバーライドオプション

戻り値

(object) itemidsプロパティの下で更新されたLLDルールのIDを含むオブジェクトを返します。

LLDルールへのフィルターの追加

{#FSTYPE}マクロの内容が@File systems for discoveryの正規表現と一致するようにフィルターを追加します。

Request:

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

Response:

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

LLDマクロパスの追加

Request:

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

Response:

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

トラッピングを無効にする

ディスカバリルールのLLDトラッピングを無効にします

Request:

{  "jsonrpc": "2.0",  "method": "discoveryrule.update",  "params": {  "itemid": "28336",  "allow_traps": 0  },  "id": 36,  "auth": "d678e0b85688ce578ff061bd29a20d3b" }

Response:

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

LLDルールの事前処理オプション更新

事前処理ルール"JSONPath"でLLDルールを更新します。

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 }

LLDルールスクリプトの更新

LLDルールスクリプトを別のスクリプトで更新し、前のスクリプトで使用されていた不要なパラメーターを削除します

Request:

{  "jsonrpc": "2.0",  "method": "discoveryrule.update",  "params": {  "itemid": "23865",  "parameters": [],  "script": "Zabbix.Log(3, 'Log test');\nreturn 1;"  },  "auth": "700ca65537074ec963db7efabda78259",  "id": 1 }

Response:

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

LLD ルールの有効期間の更新

LLD ルールを更新し、検出されなくなったエンティティを 12 時間後に無効化し、7 日後に削除します。

リクエスト:

{  "jsonrpc": "2.0",  "method": "discoveryrule.update",  "params": {  "itemid": "46864",  "lifetime_type": 0,   "lifetime": "7d",  "enabled_lifetime_type": 0,  "enabled_lifetime": "12h"  },  "id": 1 }

Response:

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

ソース

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