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

概要

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

ユーザーは、特定の JSON プロトコルに従う限り、独自の検出タイプを定義できます。

検出プロセスの一般的なアーキテクチャは次のとおりです。

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

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

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

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

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

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

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

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

こちらも参照: 検出されたエンティティ

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

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

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

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

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

ディスカバリルール

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

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

ディスカバリルール タブには、ディスカバリに使用するアイテムキーと、いくつかの一般的なディスカバリルール属性が含まれます。

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

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

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

前処理

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

関連項目:

Type
Transformation 説明
Text
Regular expression 受信した値を <pattern> の正規表現に一致させ、抽出した <output> に値を置き換えます。正規表現では、\N シーケンスを使用して最大 10 個のキャプチャグループを抽出できます。
パラメータ:
pattern - 正規表現
output - 出力フォーマットテンプレート。エスケープシーケンス \N(N=1…9)は、N 番目の一致グループに置き換えられます。エスケープシーケンス \0 は、一致したテキストに置き換えられます。
Custom on fail チェックボックスをオンにすると、独自のエラー処理オプションを指定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定する、のいずれかです。
Replace 検索文字列を見つけて、別の文字列(または空)に置き換えます。検索文字列のすべての出現箇所が置き換えられます。
パラメータ:
search string - 検索して置換する文字列。大文字小文字を区別します(必須)
replacement - 検索文字列を置き換える文字列。置換文字列は空にすることもでき、その場合は検索文字列が見つかったときに削除できます。
改行、復帰、タブ、スペースを検索または置換するために、エスケープシーケンス "\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> を抽出します
名前空間はサポートされていないことに注意してください。
Custom on fail チェックボックスをオンにすると、独自のエラー処理オプションを指定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定する、のいずれかです。
CSV to JSON CSV ファイルのデータを JSON 形式に変換します。
詳細は、CSV to JSON 前処理 を参照してください。
XML to JSON XML 形式のデータを JSON に変換します。
詳細は、シリアル化ルール を参照してください。
Custom on fail チェックボックスをオンにすると、独自のエラー処理オプションを指定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定する、のいずれかです。
SNMP
SNMP walk value 指定した OID/MIB 名で値を抽出し、次の書式設定オプションを適用します:
Unchanged - Hex-STRING をエスケープされていない16進文字列として返します(note 表示ヒントは引き続き適用されます);
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 ディスカバリ に使用できます。
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 前処理 を参照してください
Validation
Does not match regular expression 値が一致してはならない正規表現を指定します。
例: Error:(.*?)\.
Custom on fail チェックボックスをオンにすると、独自のエラー処理オプションを指定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定する、のいずれかです。
Check for error in JSON JSONPath にあるアプリケーションレベルのエラーメッセージを確認します。成功し、メッセージが空でない場合は処理を停止します。そうでない場合は、この前処理ステップの前の値を使って処理を続行します。これらの外部サービスのエラーは、前処理ステップ情報を追加せず、そのままユーザーに報告されることに注意してください。
例: $.errors{"errors":"e1"} のような JSON を受信した場合、次の前処理ステップは実行されません。
Custom on fail チェックボックスをオンにすると、独自のエラー処理オプションを指定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定する、のいずれかです。
Check for error in XML Xpath にあるアプリケーションレベルのエラーメッセージを確認します。成功し、メッセージが空でない場合は処理を停止します。そうでない場合は、この前処理ステップの前の値を使って処理を続行します。これらの外部サービスのエラーは、前処理ステップ情報を追加せず、そのままユーザーに報告されることに注意してください。
無効な XML の解析に失敗した場合でも、エラーは報告されません。
Custom on fail チェックボックスをオンにすると、独自のエラー処理オプションを指定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定する、のいずれかです。
Matches regular expression 値が一致する必要がある正規表現を指定します。
Custom on fail チェックボックスをオンにすると、独自のエラー処理オプションを指定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定する、のいずれかです。
Throttling
Discard unchanged with heartbeat 定義された時間内(秒)に変更がない場合、値を破棄します。
秒数の指定には正の整数値を使用できます(最小 1 秒)。この欄では時間サフィックスを使用できます(例: 30s, 1m, 2h, 1d)。この欄ではユーザーマクロと低レベルディスカバリマクロを使用できます。
ディスカバリアイテムに指定できるスロットリングオプションは 1 つだけです。
例: 1m。同一のテキストが 60 秒以内にこのルールへ 2 回渡された場合、破棄されます。
Note: アイテムプロトタイプを変更してもスロットリングはリセットされません。スロットリングがリセットされるのは、前処理ステップが変更された場合のみです。
Prometheus
Prometheus to JSON 必要な Prometheus メトリクスを JSON に変換します。
詳細は、Prometheus チェック を参照してください。

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

カスタムマクロ

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

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

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

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

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

たとえば、$.foo は、このJSON [{"foo":"bar"}, {"foo":"baz"}] から "bar" と "baz" を抽出します。
$.foo は、このJSON {"data":[{"foo":"bar"}, {"foo":"baz"}]} からも "bar" と "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 タブでは、指定した条件に一致する検出済みオブジェクトに対して、アイテム、トリガー、グラフ、およびホストプロトタイプの一覧やその属性を変更するルールを設定できます。

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

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

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

操作の設定

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

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

フォームのボタン

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

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

検出されたエンティティ

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

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

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

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

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

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

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

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

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

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

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