3 ローレベルディスカバリ

概要

ローレベルディスカバリ(LLD)は、ホスト上のさまざまなエンティティに対して、アイテム、トリガー、グラフを自動的に作成する方法を提供します。 たとえば、Zabbix は、各ファイルシステムやネットワークインターフェースごとにアイテムを手動で作成しなくても、マシン上のファイルシステムやネットワークインターフェースの監視を自動的に開始できます。 LLD はホストの作成にも使用でき、たとえばハイパーバイザー上で検出された仮想マシンを追加したり、ネストされたディスカバリルールによって多段階のディスカバリを可能にしたりできます。 さらに、定期的に実行されるディスカバリの実際の結果に基づいて、不要になったエンティティを自動的に削除するよう Zabbix を設定することも可能です。

ユーザーは、特定の JSON プロトコルに従う限り、独自のディスカバリタイプを定義できます。

ディスカバリプロセスの一般的なアーキテクチャは次のとおりです。

まず、ユーザーは データ収集 > テンプレートディスカバリ 列でディスカバリルールを作成します。 ディスカバリルールは、(1) 必要なエンティティ(たとえば、ファイルシステムやネットワークインターフェース)を検出するアイテムと、(2) そのアイテムの値に基づいて作成されるアイテム、トリガー、グラフのプロトタイプで構成されます。

必要なエンティティを検出するアイテムは、他で見られる通常のアイテムと同様です。サーバーは Zabbix エージェント(または、そのアイテムに設定されたタイプに応じたもの)にそのアイテムの値を要求し、エージェントはテキスト値を返します。 違いは、エージェントが返す値に、検出されたエンティティの一覧が JSON 形式で含まれていなければならない点です。 この形式の詳細は、カスタムディスカバリチェックの実装者にとってのみ重要ですが、返される値にはマクロ → 値のペアの一覧が含まれることを知っておく必要があります。 たとえば、アイテム "net.if.discovery" は、"{#IFNAME}" → "lo" および "{#IFNAME}" → "eth0" という 2 つのペアを返す場合があります。

これらのマクロは、名前、キー、その他のプロトタイプフィールドで使用され、受信した値に置き換えられて、検出された各エンティティに対する実際のアイテム、トリガー、グラフ、さらにはホストの作成に利用されます。 LLD マクロの使用方法については、オプションの完全な一覧を参照してください。

サーバーがディスカバリアイテムの値を受信すると、マクロ → 値のペアを確認し、各ペアについて、そのプロトタイプに基づいて実際のアイテム、トリガー、グラフを生成します。 上記の "net.if.discovery" の例では、サーバーはループバックインターフェース "lo" 用に 1 セットのアイテム、トリガー、グラフを生成し、インターフェース "eth0" 用に別の 1 セットを生成します。

Zabbix 4.2 以降、ローレベルディスカバリルールが返す JSON の形式が変更されている点に注意してください。 JSON に "data" オブジェクトが含まれていることは、もはや想定されていません。 ローレベルディスカバリは、アイテム値の前処理や JSON ドキュメント内のローレベルディスカバリマクロ値へのカスタムパスといった新機能をサポートするため、配列を含む通常の JSON を受け付けるようになりました。

組み込みのディスカバリキーは、JSON ドキュメントのルートで LLD 行の配列を返すよう更新されました。 配列フィールドがキーとして {#MACRO} 構文を使用している場合、Zabbix はマクロと値を自動的に抽出します。 今後の新しいネイティブディスカバリチェックでは、"data" 要素を含まない新しい構文が使用されます。 ローレベルディスカバリ値を処理する際には、まずルート($. または $.data の配列)が特定されます)。

"data" 要素はディスカバリ関連のすべてのネイティブアイテムから削除されましたが、後方互換性のため、Zabbix は引き続き "data" 要素を含む JSON 表記も受け付けます。ただし、その使用は推奨されません。 JSON に "data" 配列要素のみを 1 つ持つオブジェクトが含まれている場合、JSONPath $.data を使用してその要素の内容が自動的に抽出されます。 ローレベルディスカバリは、JSONPath 構文で指定されたカスタムパスを持つ、ユーザー定義の任意の LLD マクロも受け付けるようになりました。

上記の変更の結果、新しいエージェントは古い Zabbix サーバーでは動作しなくなります。

参照: 検出されたエンティティ

ローレベルディスカバリの設定

ファイルシステムディスカバリの例に基づいて、ローレベルディスカバリを説明します。

ディスカバリを設定するには、次の手順を実行します。

  • データ収集 > テンプレート または ホスト に移動します。
  • 適切なテンプレート/ホストの行にある ディスカバリ をクリックします。

  • 画面右上の ディスカバリルールの作成 をクリックします。
  • 必要な詳細を入力して、ディスカバリルールのフォームを記入します。

ディスカバリルール

ディスカバリルールのフォームには5つのタブがあり、左から右へ、ディスカバリ中のデータフローを表しています。

  • ディスカバリルール - ディスカバリデータを取得するための組み込みアイテムまたはカスタムスクリプトを主に指定します。
  • 前処理 - 検出されたデータに対して前処理を適用します。
  • LLDマクロ - 検出されたアイテム、トリガーなどで使用するマクロ値を抽出できます。
  • フィルター - 検出された値をフィルタリングできます。
  • オーバーライド - 特定の検出オブジェクトに適用する際に、アイテム、トリガー、グラフ、またはホストプロトタイプを変更できます。

ディスカバリルールタブには、ディスカバリに使用するアイテムキー(および一般的なディスカバリルール属性)が含まれます。

必須入力フィールドにはすべて赤いアスタリスクが付いています。

Parameter Description
Name ディスカバリルールの名前。
Type ディスカバリを実行するチェックのタイプ。
この例では、Zabbixエージェント アイテムタイプを使用しています。
ディスカバリルールは、通常のアイテムに依存する dependent item にすることもできます。別のディスカバリルールに依存させることはできません。依存アイテムの場合は、該当するタイプ(Dependent item)を選択し、'Master item' フィールドでマスターアイテムを指定します。マスターアイテムは存在している必要があります。
Key ディスカバリアイテムキーを入力します(最大2048文字)。
たとえば、組み込みの "vfs.fs.discovery" アイテムキーを使用すると、コンピューター上に存在するファイルシステムの一覧、そのタイプ、およびマウントオプションを含むJSON文字列を返すことができます。
ファイルシステムディスカバリの別の方法として、"vfs.fs.get" エージェントキーによるディスカバリ結果を使用することもできます(example を参照)。
Update interval このフィールドでは、Zabbix がどのくらいの頻度でディスカバリを実行するかを指定します。ファイルシステムディスカバリを設定し始めたばかりの段階では短い間隔に設定したい場合がありますが、動作することが確認できたら、通常ファイルシステムはそれほど頻繁には変化しないため、30分以上に設定できます。
Time suffixes がサポートされています(例: 30s、1m、2h、1d)。
User macros がサポートされています。
Note: 更新間隔を '0' に設定できるのは、0以外の値を持つカスタム間隔が存在する場合のみです。'0' に設定され、0以外の値を持つカスタム間隔(柔軟またはスケジュール)が存在する場合、アイテムはそのカスタム間隔の期間中にポーリングされます。
新しいディスカバリルールは、Scheduling または Flexible update interval があり、かつ Update interval が 0 に設定されている場合を除き、作成後60秒以内にチェックされます。
既存のディスカバリルールについては、Execute now button を押すことで、直ちにディスカバリを実行できることに注意してください。
Custom intervals アイテムをチェックするためのカスタムルールを作成できます。
Flexible - Update interval の例外を作成します(異なる頻度の間隔)
Scheduling - カスタムのポーリングスケジュールを作成します。
詳細は Custom intervals を参照してください。
Timeout ディスカバリチェックのタイムアウトを設定します。タイムアウトオプションを選択します。
Global - プロキシ/グローバルタイムアウトが使用されます(グレー表示された Timeout フィールドに表示されます)。
Override - カスタムタイムアウトが使用されます(Timeout フィールドで設定。許容範囲: 1 - 600s)。Time suffixes(例: 30s、1m)および user macros がサポートされています。
Timeouts リンクをクリックすると、プロキシ のタイムアウト、または(プロキシを使用しない場合は)global タイムアウトを設定できます。Timeouts リンクは、Administration > General または Administration > Proxies のWebインターフェースセクションへの権限を持つ Super admin タイプのユーザーにのみ表示されることに注意してください。
Delete lost resources 検出状態が "Not discovered anymore" になった後、検出されたエンティティをどのくらいで削除するかを指定します。
Never - 削除されません。
Immediately - 直ちに削除されます。
After - 指定した期間後に削除されます。この値は Disable lost resources の値より大きくなければなりません。
Time suffixes がサポートされています(例: 2h、1d)。
User macros がサポートされています。
Note: "Immediately" の使用は推奨されません。フィルターを誤って編集しただけで、すべての履歴データとともにエンティティが削除される可能性があるためです。
手動で無効化されたリソースは、ローレベルディスカバリによって削除されないことに注意してください。
Disable lost resources 検出状態が "Not discovered anymore" になった後、検出されたエンティティをどのくらいで無効化するかを指定します。
Never - 無効化されません。
Immediately - 直ちに無効化されます。
After - 指定した期間後に無効化されます。この値はディスカバリルールの更新間隔より大きい必要があります。
自動的に無効化されたリソースは、ローレベルディスカバリによって再検出されると再び有効になることに注意してください。手動で無効化されたリソースは、再検出されても再び有効にはなりません。
Delete lost resources が "Immediately" に設定されている場合、このフィールドは表示されません。
Time suffixes がサポートされています(例: 2h、1d)。
User macros がサポートされています。
Description 説明を入力します。
Enabled チェックすると、ルールが処理されます。

ディスカバリルールの履歴は保持されません。

前処理

前処理タブでは、ディスカバリの結果に適用する変換ルールを定義できます。
このステップでは、1つまたは複数の変換を設定できます。
変換は、定義された順序で実行されます。
すべての前処理は Zabbixサーバー によって実行されます。

以下も参照してください:

Type
変換 説明
Text
正規表現 受信した値を <pattern> 正規表現に照合し、抽出した <output> で値を置き換えます。正規表現では、\N シーケンスを使用して最大10個のキャプチャグループを抽出できます。
パラメータ:
pattern - 正規表現
output - 出力書式テンプレート。\N(N=1…9)エスケープシーケンスは N 番目に一致したグループに置き換えられます。\0 エスケープシーケンスは一致したテキストに置き換えられます。
Custom on fail チェックボックスをオンにすると、カスタムのエラー処理オプションを指定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定することが可能です。
置換 検索文字列を見つけて別の文字列(または何もない文字列)に置き換えます。検索文字列のすべての出現箇所が置き換えられます。
パラメータ:
search string - 検索および置換する文字列。大文字と小文字は区別されます(必須)
replacement - search string を置き換える文字列。置換文字列は空にすることもでき、その場合、見つかった search string を削除できます。
改行、復帰、タブ、スペースを検索または置換するために、エスケープシーケンス "\n \r \t \s" を使用できます。バックスラッシュは "\\" としてエスケープでき、エスケープシーケンス自体は "\\n" のようにエスケープできます。改行、復帰、タブのエスケープは、ローレベルディスカバリ中に自動的に行われます。
Structured data
JSONPath JSONPath 機能を使用して、JSON データから値または断片を抽出します。
Custom on fail チェックボックスをオンにすると、カスタムのエラー処理オプションを指定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定することが可能です。
XML XPath XPath 機能を使用して、XML データから値または断片を抽出します。
このオプションを機能させるには、Zabbixサーバー が libxml サポート付きでコンパイルされている必要があります。
例:
number(/document/item/value)<document><item><value>10</value></item></document> から 10 を抽出します
number(/document/item/@attribute)<document><item attribute="10"></item></document> から 10 を抽出します
/document/item<document><item><value>10</value></item><document><item><value>10</value></item></document> から抽出します
名前空間はサポートされていないことに注意してください。
Custom on fail チェックボックスをオンにすると、カスタムのエラー処理オプションを指定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定することが可能です。
CSV to JSON CSV ファイルデータを JSON 形式に変換します。
詳細は CSV to JSON preprocessing を参照してください。
XML to JSON XML 形式のデータを JSON に変換します。
詳細は Serialization rules を参照してください。
Custom on fail チェックボックスをオンにすると、カスタムのエラー処理オプションを指定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定することが可能です。
SNMP
SNMP walk value 指定した OID/MIB 名で値を抽出し、書式設定オプションを適用します:
Unchanged - Hex-STRING をエスケープされていない16進文字列として返します(注意: 表示ヒントは引き続き適用されます)。
UTF-8 from Hex-STRING - Hex-STRING を UTF-8 文字列に変換します。
MAC from Hex-STRING - Hex-STRING を MAC アドレス文字列に変換します(このとき ' '':' に置き換えられます)。
Integer from BITS - 16進文字の並びで表現されたビット文字列(例: "1A 2B 3C 4D")の先頭8バイトを、64ビット符号なし整数に変換します。8バイトを超えるビット文字列では、それ以降のバイトは無視されます。
Custom on fail チェックボックスをオンにすると、カスタムのエラー処理オプションを指定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定することが可能です。
SNMP walk to JSON SNMP 値を JSON に変換します。JSON 内のフィールド名と、それに対応する SNMP OID パスを指定します。フィールド値には、指定した SNMP OID パスの値が設定されます。
この前処理ステップは、SNMP OID discovery に使用できます。
SNMP walk value ステップと同様の値書式設定オプションを利用できます。
Custom on fail チェックボックスをオンにすると、カスタムのエラー処理オプションを指定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定することが可能です。
SNMP get value SNMP get 値に書式設定オプションを適用します:
UTF-8 from Hex-STRING - Hex-STRING を UTF-8 文字列に変換します。
MAC from Hex-STRING - Hex-STRING を MAC アドレス文字列に変換します(このとき ' '':' に置き換えられます)。
Integer from BITS - 16進文字の並びで表現されたビット文字列(例: "1A 2B 3C 4D")の先頭8バイトを、64ビット符号なし整数に変換します。8バイトを超えるビット文字列では、それ以降のバイトは無視されます。
Custom on fail チェックボックスをオンにすると、カスタムのエラー処理オプションを指定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定することが可能です。
Custom scripts
JavaScript パラメータフィールド内、またはその横にある鉛筆アイコンをクリックすると開くモーダルエディタに JavaScript コードを入力します。
使用可能な JavaScript の長さは、使用しているデータベース に依存することに注意してください。
詳細は Javascript preprocessing を参照してください。
Validation
正規表現に一致しない 値が一致してはならない正規表現を指定します。
例: Error:(.*?)\.
Custom on fail チェックボックスをオンにすると、カスタムのエラー処理オプションを指定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定することが可能です。
JSON 内のエラーを確認 JSONPath にあるアプリケーションレベルのエラーメッセージを確認します。成功し、かつメッセージが空でない場合は処理を停止します。それ以外の場合は、この前処理ステップの前の値で処理を続行します。これらの外部サービスエラーは、前処理ステップ情報を追加せず、そのままユーザーに報告されることに注意してください。
例: $.errors{"errors":"e1"} のような JSON を受信した場合、次の前処理ステップは実行されません。
Custom on fail チェックボックスをオンにすると、カスタムのエラー処理オプションを指定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定することが可能です。
XML 内のエラーを確認 Xpath にあるアプリケーションレベルのエラーメッセージを確認します。成功し、かつメッセージが空でない場合は処理を停止します。それ以外の場合は、この前処理ステップの前の値で処理を続行します。これらの外部サービスエラーは、前処理ステップ情報を追加せず、そのままユーザーに報告されることに注意してください。
無効な XML の解析に失敗した場合、エラーは報告されません。
Custom on fail チェックボックスをオンにすると、カスタムのエラー処理オプションを指定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定することが可能です。
正規表現に一致する 値が一致しなければならない正規表現を指定します。
Custom on fail チェックボックスをオンにすると、カスタムのエラー処理オプションを指定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定することが可能です。
Throttling
ハートビート付きで未変更を破棄 定義した期間(秒)内に値が変化していない場合、その値を破棄します。
秒数の指定には正の整数値を使用できます(最小 1 秒)。このフィールドでは時間サフィックスを使用できます(例: 30s、1m、2h、1d)。このフィールドではユーザーマクロおよびローレベルディスカバリマクロを使用できます。
ディスカバリアイテムには、スロットリングオプションを1つだけ指定できます。
例: 1m。同一のテキストが 60 秒以内にこのルールへ2回渡された場合、その値は破棄されます。
注意: アイテムのプロトタイプを変更してもスロットリングはリセットされません。スロットリングがリセットされるのは、前処理ステップが変更された場合のみです。
Prometheus
Prometheus to JSON 必要な Prometheus メトリクスを JSON に変換します。
詳細は Prometheus checks を参照してください。

ディスカバリルールがテンプレート経由でホストに適用されている場合、このタブの内容は読み取り専用になることに注意してください。

カスタムマクロ

LLDマクロタブでは、カスタムのローレベルディスカバリマクロを指定できます。

カスタムマクロは、返されたJSONに必要なマクロがあらかじめ定義されていない場合に役立ちます。 例えば、次のような場合です。

  • ファイルシステムディスカバリ用のネイティブな vfs.fs.discovery キーは、{#FSNAME}、{#FSTYPE} などの事前定義されたLLDマクロを含むJSONを返します。 これらのマクロは、アイテムやトリガーのプロトタイプ(ページの後続セクションを参照)で直接使用できるため、カスタムマクロを定義する必要はありません。
  • vfs.fs.get エージェントアイテムも、ファイルシステムデータを含むJSONを返しますが、事前定義されたLLDマクロは含まれていません。 この場合は、自分でマクロを定義し、JSONPathを使用してJSON内の値にマッピングできます。

抽出された値は、ディスカバリされたアイテム、トリガーなどで使用できます。 値は、ディスカバリの結果およびそれまでに適用されたすべての前処理ステップの結果から抽出されることに注意してください。

Parameter Description
LLD macro ローレベルディスカバリマクロの名前。構文は次のとおりです: {#MACRO}。
JSONPath JSONPath構文を使用して、LLD行からLLDマクロ値を抽出するためのパスです。
返されたJSONから抽出された値は、アイテム、トリガーなどのプロトタイプフィールド内のLLDマクロを置き換えるために使用されます。
JSONPathはドット記法またはブラケット記法で指定できます。特殊文字やUnicodeを含む場合は、$['unicode + special chars #1']['unicode + special chars #2'] のようにブラケット記法を使用する必要があります。

例えば、$.foo はこのJSONから "bar" と "baz" を抽出します: [{"foo":"bar"}, {"foo":"baz"}]
$.foo はこのJSONからも "bar" と "baz" を抽出することに注意してください: {"data":[{"foo":"bar"}, {"foo":"baz"}]}。これは、単一の "data" オブジェクトが自動的に処理されるためです(4.2より前のZabbixバージョンにおけるローレベルディスカバリ実装との後方互換性のため)。

フィルター

フィルターを使用すると、条件に一致するエンティティに対してのみ、実際のアイテム、トリガー、グラフを生成できます。
フィルタータブには、ディスカバリ値を絞り込むためのディスカバリルールのフィルター定義が含まれています。

Parameter Description
Type of calculation フィルターの計算方法には、次のオプションがあります。
And - すべてのフィルター条件を満たす必要があります。
Or - いずれか1つのフィルター条件を満たせば十分です。
And/Or - 異なるマクロ名には And、同じマクロ名には Or を使用します。
Custom expression - フィルターのカスタム計算式を定義できます。式には、リスト内のすべてのフィルターを含める必要があります。255文字までに制限されます。
Filters 使用可能なフィルター条件演算子は次のとおりです: matchesdoes not matchexistsdoes not exist
matches および does not match 演算子では、Perl Compatible Regular Expression (PCRE) を指定します。たとえば、C:、D:、E: のファイルシステムのみに関心がある場合は、「Macro」に {#FSNAME} を、「Regular expression」のテキストフィールドに "\C|\D|\E" 正規表現を入力できます。ファイルシステムタイプによるフィルタリングも {#FSTYPE} マクロ(例: "\ext|\reiserfs")を使用して可能です。また、ドライブタイプによるフィルタリングも {#FSDRIVETYPE} マクロ(例: "fixed")を使用して可能です(Windowsエージェントでのみサポート)。
「Regular expression」フィールドには、正規表現を直接入力することも、グローバルな正規表現を参照することもできます。
正規表現をテストするには、たとえば "grep -E" を使用できます: ````for f in ext2 nfs reiserfs smbfs; do echo $f | grep -E '
ext|^reiserfs' || echo "SKIP: $f"; done````

exists および does not exist 演算子を使用すると、レスポンス内に指定したLLDマクロが存在するかどうかに基づいてエンティティをフィルタリングできます。
フィルター内のマクロがレスポンスに存在しない場合、そのマクロに対して "does not exist" 条件が指定されていない限り、検出されたエンティティは無視されることに注意してください。

マクロの欠落が式の結果に影響する場合は、警告が表示されます。たとえば、次の場合に {#B} が欠落しているとします。
{#A} matches 1 and {#B} matches 2 - 警告が表示されます
{#A} matches 1 or {#B} matches 2 - 警告は表示されません

LLDルールで使用される正規表現に誤りやタイプミスがあると(たとえば、不正な「File systems for discovery」正規表現)、多数のホストに対して数千もの設定要素、履歴値、イベントが削除される可能性があります。

大文字と小文字の違いだけが異なるファイルシステム名を正しくディスカバリする必要がある場合、MySQL のZabbixデータベースは大文字と小文字を区別する設定で作成する必要があります。

オーバーライド

オーバーライドタブでは、指定した条件に一致する検出済みオブジェクトに対して、アイテム、トリガー、グラフ、ホスト、ディスカバリの各プロトタイプ、またはそれらの属性の一覧を変更するルールを設定できます。

オーバーライド(存在する場合)は、ドラッグ&ドロップで並べ替え可能な一覧として表示され、定義された順序で実行されます。新しいオーバーライドの詳細を設定するには、Overrides ブロック内の をクリックします。
既存のオーバーライドを編集するには、オーバーライド名をクリックします。
オーバーライドルールの詳細を編集できるポップアップウィンドウが開きます。

必須パラメータには、赤いアスタリスクが付いています。

Parameter Description
Name 一意の(LLDルールごとの)オーバーライド名。
If filter matches フィルター条件に一致した場合に、次のオーバーライドの処理を続行するかどうかを定義します:
Continue overrides - 後続のオーバーライドを処理します。
Stop processing - 先行するオーバーライド(存在する場合)およびこのオーバーライドの操作を実行し、一致したLLD行については後続のオーバーライドを無視します。
Filters どの検出済みエンティティにオーバーライドを適用するかを決定します。オーバーライドフィルターはディスカバリルールのフィルターの後に処理され、同じ機能を持ちます。
Operations オーバーライド操作は、次の詳細とともに表示されます:
Condition - オブジェクトタイプと、オブジェクト名に対して満たす必要がある条件。例:トリガープロトタイプが Disk space is low (used > 50%) と等しくない。
Actions - 操作を編集および削除するためのリンクが表示されます。

操作の設定

新しい操作の詳細を設定するには、Operations ブロック内の をクリックします。
既存の操作を編集するには、操作の横にある をクリックします。
操作の詳細を編集できるポップアップウィンドウが開きます。

Parameter Description
Object 使用可能なオブジェクトタイプは5種類あります:
アイテムプロトタイプ
トリガープロトタイプ
グラフプロトタイプ
ホストプロトタイプ
ディスカバリプロトタイプ
Condition この操作を適用するエンティティをフィルタリングできます。
Operator サポートされる演算子:
equals - このプロトタイプに適用
does not equal - これ以外のすべてのプロトタイプに適用
contains - プロトタイプ名にこの文字列が含まれる場合に適用
does not contain - プロトタイプ名にこの文字列が含まれない場合に適用
matches - プロトタイプ名が正規表現に一致する場合に適用
does not match - プロトタイプ名が正規表現に一致しない場合に適用
Pattern 検索対象の文字列または正規表現
Object: Item prototype
Create enabled チェックボックスをオンにするとボタンが表示され、元のアイテムプロトタイプ設定を上書きできます:
Yes - アイテムは有効な状態で追加されます。
No - アイテムは検出済みエンティティに追加されますが、無効な状態になります。
Discover チェックボックスをオンにするとボタンが表示され、元のアイテムプロトタイプ設定を上書きできます:
Yes - アイテムが追加されます。
No - アイテムは追加されません。
Update interval チェックボックスをオンにすると2つのオプションが表示され、アイテムに別の間隔を設定できます:
Delay - アイテムの更新間隔。ユーザーマクロおよび時間サフィックス(例:30s、1m、2h、1d)をサポートします。Custom interval を使用する場合は 0 に設定する必要があります。
Custom interval - をクリックして、柔軟な間隔/スケジュール間隔を指定します。詳細はカスタム間隔を参照してください。
History チェックボックスをオンにするとボタンが表示され、アイテムに別の履歴保存期間を設定できます:
Do not store - 選択すると、履歴は保存されません。
Store up to - 選択すると、保存期間を指定する入力フィールドが右側に表示されます。ユーザーマクロおよびLLDマクロをサポートします。
Trends チェックボックスをオンにするとボタンが表示され、アイテムに別のトレンド保存期間を設定できます:
Do not store - 選択すると、トレンドは保存されません。
Store up to - 選択すると、保存期間を指定する入力フィールドが右側に表示されます。ユーザーマクロおよびLLDマクロをサポートします。
Tags チェックボックスをオンにすると新しいブロックが表示され、タグと値のペアを指定できます。
これらのタグは、タグ名が一致する場合でも、アイテムプロトタイプで指定されたタグに追加されます。
Object: Trigger prototype
Create enabled チェックボックスをオンにするとボタンが表示され、元のトリガープロトタイプ設定を上書きできます:
Yes - トリガーは有効な状態で追加されます。
No - トリガーは検出済みエンティティに追加されますが、無効な状態になります。
Discover チェックボックスをオンにするとボタンが表示され、元のトリガープロトタイプ設定を上書きできます:
Yes - トリガーが追加されます。
No - トリガーは追加されません。
Severity チェックボックスをオンにするとトリガー深刻度ボタンが表示され、トリガー深刻度を変更できます。
Tags チェックボックスをオンにすると新しいブロックが表示され、タグと値のペアを指定できます。
これらのタグは、タグ名が一致する場合でも、トリガープロトタイプで指定されたタグに追加されます。
Object: Graph prototype
Discover チェックボックスをオンにするとボタンが表示され、元のグラフプロトタイプ設定を上書きできます:
Yes - グラフが追加されます。
No - グラフは追加されません。
Object: Host prototype
Create enabled チェックボックスをオンにするとボタンが表示され、元のホストプロトタイプ設定を上書きできます:
Yes - ホストは有効な状態で作成されます。
No - ホストは無効な状態で作成されます。
Discover チェックボックスをオンにするとボタンが表示され、元のホストプロトタイプ設定を上書きできます:
Yes - ホストがディスカバリされます。
No - ホストはディスカバリされません。
Link templates チェックボックスをオンにすると、テンプレートを指定する入力フィールドが表示されます。テンプレート名の入力を開始するか、フィールドの横にある Select をクリックして、ポップアップウィンドウの一覧からテンプレートを選択します。
このオーバーライドのテンプレートは、すでにホストプロトタイプにリンクされているすべてのテンプレートに追加されます。
Tags チェックボックスをオンにすると新しいブロックが表示され、タグと値のペアを指定できます。
これらのタグは、タグ名が一致する場合でも、ホストプロトタイプで指定されたタグに追加されます。
Host inventory チェックボックスをオンにするとボタンが表示され、ホストプロトタイプに対して別のインベントリモードを選択できます:
Disabled - ホストインベントリを設定しない
Manual - 詳細を手動で入力
Automated - 収集したメトリクスに基づいてホストインベントリデータを自動入力

フォームボタン

フォームの下部にあるボタンでは、いくつかの操作を実行できます。

ディスカバリルールを追加します。このボタンは、新しいディスカバリルールでのみ使用できます。
ディスカバリルールのプロパティを更新します。このボタンは、既存のディスカバリルールでのみ使用できます。
現在のディスカバリルールのプロパティに基づいて、別のディスカバリルールを作成します。
ディスカバリルールに基づいて、ただちにディスカバリを実行します。ディスカバリルールは、すでに存在している必要があります。詳細はこちらを参照してください。
ディスカバリをただちに実行する場合、設定キャッシュは更新されないため、ディスカバリルール設定に対するごく最近の変更は結果に反映されません。
ディスカバリルールの設定をテストします。このボタンを使用すると、変更を恒久的に適用することなく、設定内容(接続性やパラメータの正確性など)を確認できます。
ディスカバリルールを削除します。
ディスカバリルールのプロパティの編集をキャンセルします。

検出されたエンティティ

以下のスクリーンショットは、検出されたアイテム、トリガー、グラフがホストの設定でどのように表示されるかを示しています。
検出されたエンティティには、それらの元となったディスカバリルールへのオレンジ色のリンクが先頭に付きます。

同じ一意性条件を持つ既存のエンティティがすでに存在する場合、検出されたエンティティは作成されません。たとえば、同じキーを持つアイテムや同じ名前を持つグラフが該当します。
この場合、Webインターフェースには、ローレベルディスカバリルールが特定のエンティティを作成できなかったことを示すエラーメッセージが表示されます。
ただし、エンティティを作成できずスキップされたことを理由に、ディスカバリルール自体が未サポートになることはありません。
ディスカバリルールは、他のエンティティの作成や更新を継続します。

検出されたエンティティ(ホスト、ファイルシステム、インターフェースなど)が検出されなくなった場合(またはフィルターを通過しなくなった場合)、それに基づいて作成されたエンティティは自動的に無効化され、最終的に削除されることがあります。

失われたリソースは、Disable lost resources パラメータの値に基づいて自動的に無効化される場合があります。
これは、失われたホスト、アイテム、トリガーに影響します。

失われたリソースは、Delete lost resources パラメータの値に基づいて自動的に削除される場合があります。
これは、失われたホスト、ホストグループ、アイテム、トリガー、グラフに影響します。

検出されたエンティティが「Not discovered anymore」になると、エンティティ一覧に有効期間インジケーターが表示されます。
その上にマウスポインターを移動すると、状態の詳細を示すメッセージが表示されます。

エンティティが削除対象としてマークされていても、想定された時刻に削除されなかった場合(ディスカバリルールまたはアイテムのホストが無効な場合)、次回そのディスカバリルールが処理されたときに削除されます。

削除対象としてマークされた他のエンティティを含むエンティティは、ディスカバリルールレベルで変更されても更新されません。
たとえば、LLDベースのトリガーは、削除対象としてマークされたアイテムを含んでいる場合、更新されません。

その他のディスカバリの種類

その他の標準搭載のディスカバリの詳細および手順については、以下のセクションを参照してください。

ディスカバリアイテムのJSON形式の詳細、および独自のファイルシステムディスカバラをPerlスクリプトとして実装する方法の例については、カスタムLLDルールの作成を参照してください。