You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

discoveryrule.update

説明

object discoveryrule.update(object/array lldRules)

このメソッドは、既存のLLDルールを更新します。

このメソッドは管理者およびスーパ管理者ユーザータイプでのみ利用可能です。メソッドの呼び出し権限はユーザーロールの設定で取り消すことができます。詳細はユーザーロールを参照してください。

パラメータ

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

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

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

パラメータ 説明
filter object 既存のフィルターを置き換えるLLDルールフィルター
preprocessing object/array 既存の前処理オプションを置き換えるLLDルール前処理オプション。

パラメータの動作:
- 継承されたオブジェクトの場合は読み取り専用
lld_macro_paths object/array 既存のlld_macro_pathオプションを置き換えるLLDルールのlld_macro_pathオプション。

パラメータの動作:
- 継承されたオブジェクトの場合は読み取り専用
overrides object/array 既存のオーバーライドオプションを置き換えるLLDルールのオーバーライドオプション。

パラメータの動作:
- 継承されたオブジェクトの場合は読み取り専用

戻り値

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

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

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

リクエスト:

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

レスポンス:

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

LLDマクロパスの追加

リクエスト:

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

レスポンス:

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

トラッピングの無効化

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

リクエスト:

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

レスポンス:

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

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

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

リクエスト:

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

レスポンス:

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

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

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

リクエスト:

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

レスポンス:

{
           "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.