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

概要

Low-level discovery (LLD) は、ホスト上のエンティティ(例: ファイルシステム、ネットワークインターフェース)を自動的に検出し、各エンティティごとに手動設定なしで対応するアイテム、トリガー、グラフを作成します。

LLD を使用するには、エンティティを記述する JSON データを収集する discovery rule を作成し、各エンティティに対する prototypesitemtriggergraph)を用意します。

rule によって返される JSON はオブジェクトの配列である必要があり、各オブジェクトはキーと値のペアを使用して 1 つの検出済みエンティティを表します。たとえば、net.if.discovery を持つ discovery rule は次のような値を返す場合があります。

[
  {"{#IFNAME}": "lo"},
  {"{#IFNAME}": "eth0"}
]

その後、対応するアイテム、トリガー、グラフのセットが prototypes から作成されます。インターフェースごとに 1 つずつ、loeth0 用に作成されます。

オブジェクトに {#MACRO} 形式のキーが含まれている場合、それらのマクロは prototypes で直接使用されます。含まれていない場合、または追加の/カスタムのマクロが必要な場合は、マクロを 手動で定義 し、JSONPath を使用して JSON フィールドにマッピングできます。

LLD は ホスト も作成でき(たとえば、ハイパーバイザー上で検出された 仮想マシン 向け)、複数レベルの検出のために ネストされた discovery rules もサポートします。

もはや検出されなくなったエンティティは、自動的に 無効化または削除 できます。

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

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

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

  1. Data collection > Templates または Hosts に移動します。
  2. 対応するテンプレート/ホストの行にある Discovery をクリックします。

  1. 画面右上の Create discovery rule をクリックします。
  2. 必要な詳細を入力して、ディスカバリルールのフォームを完成させます。

ディスカバリルール

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

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

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

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

Parameter Description
Name ディスカバリルールの名前。
Type ディスカバリを実行するチェックのタイプ。
この例では、Zabbixエージェント アイテムタイプを使用しています。
ディスカバリルールは、通常のアイテムに依存する dependent item にすることもできます。別のディスカバリルールに依存することはできません。依存アイテムの場合は、該当するタイプ(Dependent item)を選択し、'Master item' フィールドでマスターアイテムを指定します。マスターアイテムは存在している必要があります。
Key ディスカバリアイテムキーを入力します(最大2048文字)。
たとえば、組み込みの "vfs.fs.discovery" アイテムキーを使用すると、コンピュータ上に存在するファイルシステムの一覧、そのタイプ、およびマウントオプションを含むJSON文字列を返すことができます。
なお、ファイルシステムディスカバリの別の方法として、"vfs.fs.get" エージェントキーによるディスカバリ結果を使用することもできます(を参照)。
Update interval このフィールドでは、Zabbixがどのくらいの頻度でディスカバリを実行するかを指定します。ファイルシステムディスカバリを設定し始めたばかりの段階では短い間隔に設定したいかもしれませんが、正常に動作することが確認できたら、ファイルシステムは通常それほど頻繁には変化しないため、30分以上に設定できます。
Time suffixes がサポートされています。例: 30s, 1m, 2h, 1d。
User macros がサポートされています。
: 更新間隔を '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 がサポートされています。
: "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
変換 説明
テキスト
正規表現 受信した値を <pattern> 正規表現に一致させ、抽出した <output> に値を置き換えます。正規表現では、\N シーケンスを使用して最大 10 個のキャプチャグループを抽出できます。
パラメータ:
pattern - 正規表現
output - 出力フォーマットテンプレート。エスケープシーケンス \N (N=1…9) は、N 番目に一致したグループに置き換えられます。エスケープシーケンス \0 は、一致したテキストに置き換えられます。
カスタム失敗時処理 チェックボックスをオンにすると、値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定する、といったカスタムのエラー処理オプションを指定できます。
置換 検索文字列を見つけて、別の文字列(または空)に置き換えます。検索文字列のすべての出現箇所が置換されます。
パラメータ:
search string - 検索して置換する文字列。大文字小文字を区別します(必須)
replacement - 検索文字列を置き換える文字列。置換文字列は空にすることもでき、その場合は見つかった検索文字列を削除できます。
改行、キャリッジリターン、タブ、スペースを検索または置換するために、エスケープシーケンス "\n \r \t \s" を使用できます。バックスラッシュは "\\" としてエスケープでき、エスケープシーケンスは "\\n" としてエスケープできます。改行、キャリッジリターン、タブのエスケープは、低レベルディスカバリ中に自動的に行われます。
構造化データ
JSONPath JSONPath 機能 を使用して、JSON データから値または断片を抽出します。
カスタム失敗時処理 チェックボックスをオンにすると、値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定する、といったカスタムのエラー処理オプションを指定できます。
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> を抽出します
名前空間はサポートされないことに注意してください。
カスタム失敗時処理 チェックボックスをオンにすると、値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定する、といったカスタムのエラー処理オプションを指定できます。
CSV to JSON CSV ファイルのデータを JSON 形式に変換します。
詳細は CSV to JSON 前処理 を参照してください。
XML to JSON XML 形式のデータを JSON に変換します。
詳細は シリアライズルール を参照してください。
カスタム失敗時処理 チェックボックスをオンにすると、値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定する、といったカスタムのエラー処理オプションを指定できます。
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 バイトを超えるビット文字列では、以降のバイトは無視されます。
カスタム失敗時処理 チェックボックスをオンにすると、値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定する、といったカスタムのエラー処理オプションを指定できます。
SNMP walk to JSON SNMP 値を JSON に変換します。JSON 内のフィールド名と対応する SNMP OID パスを指定します。フィールド値は、指定した SNMP OID パスの値で埋められます。
この前処理ステップは SNMP OID ディスカバリ に使用できます。
SNMP walk value ステップと同様の値書式設定オプションを利用できます。
カスタム失敗時処理 チェックボックスをオンにすると、値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定する、といったカスタムのエラー処理オプションを指定できます。
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 バイトを超えるビット文字列では、以降のバイトは無視されます。
カスタム失敗時処理 チェックボックスをオンにすると、値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定する、といったカスタムのエラー処理オプションを指定できます。
カスタムスクリプト
JavaScript パラメータ欄またはその横の鉛筆アイコンをクリックすると開くモーダルエディタに、JavaScript コードを入力します。
利用可能な JavaScript の長さは、使用しているデータベース に依存することに注意してください。
詳細は JavaScript 前処理 を参照してください。
検証
正規表現に一致しない 値が一致してはならない正規表現を指定します。
例: Error:(.*?)\.
カスタム失敗時処理 チェックボックスをオンにすると、値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定する、といったカスタムのエラー処理オプションを指定できます。
JSON のエラーを確認 JSONPath にあるアプリケーションレベルのエラーメッセージを確認します。成功し、メッセージが空でない場合は処理を停止します。そうでない場合は、この前処理ステップの前の値を使って処理を継続します。これらの外部サービスのエラーは、前処理ステップ情報を追加せず、そのままユーザーに報告されることに注意してください。
例: $.errors{"errors":"e1"} のような JSON を受信した場合、次の前処理ステップは実行されません。
カスタム失敗時処理 チェックボックスをオンにすると、値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定する、といったカスタムのエラー処理オプションを指定できます。
XML のエラーを確認 Xpath にあるアプリケーションレベルのエラーメッセージを確認します。成功し、メッセージが空でない場合は処理を停止します。そうでない場合は、この前処理ステップの前の値を使って処理を継続します。これらの外部サービスのエラーは、前処理ステップ情報を追加せず、そのままユーザーに報告されることに注意してください。
無効な XML の解析に失敗した場合でも、エラーは報告されません。
カスタム失敗時処理 チェックボックスをオンにすると、値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定する、といったカスタムのエラー処理オプションを指定できます。
正規表現に一致する 値が一致する必要がある正規表現を指定します。
カスタム失敗時処理 チェックボックスをオンにすると、値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定する、といったカスタムのエラー処理オプションを指定できます。
スロットリング
変更なしをハートビート付きで破棄 定義された期間(秒)内に変更がない値を破棄します。
秒数の指定には正の整数値を使用できます(最小 1 秒)。この欄では時間サフィックスを使用できます(例: 30s, 1m, 2h, 1d)。ユーザーマクロおよび低レベルディスカバリマクロをこの欄で使用できます。
ディスカバリアイテムに指定できるスロットリングオプションは 1 つだけです。
例: 1m。同一のテキストが 60 秒以内にこのルールへ 2 回渡された場合、破棄されます。
: アイテムプロトタイプを変更してもスロットリングはリセットされません。スロットリングがリセットされるのは、前処理ステップが変更された場合のみです。
Prometheus
Prometheus to JSON 必要な Prometheus メトリクスを JSON に変換します。
詳細は Prometheus チェック を参照してください。

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

カスタムマクロ

LLDマクロ タブでは、返されるJSONにすでに {#MACRO} 形式のキーが含まれていない場合に、カスタム LLDマクロ を指定できます。

たとえば、vfs.fs.get エージェントアイテムキーは、事前定義されたLLDマクロを含まないJSON filesystem data を返します。
ここでは、マクロを手動で定義し、JSONPath 式を使用してJSON内の値にマッピングします。

Parameter Description
LLD macro {#MACRO} 形式のLLDマクロ名。
JSONPath JSON配列内の各検出対象エンティティから抽出する値を定義する式。
たとえば、$.foo
[{"foo":"bar"}, {"foo":"baz"}] から "bar""baz" を抽出します。

JSONPath はドット表記とブラケット表記の両方をサポートしています。特殊文字またはUnicodeを含むキーにはブラケット表記を使用する必要があります。たとえば、
$['unicode + special chars #1']['unicode + special chars #2'] のように指定します。

検出ルールは、ルート ($.) にJSON配列を返す必要があります。
後方互換性のため、単一の "data" 配列を含むJSONオブジェクトも受け入れられます。この場合、"data" 配列は自動的に展開されます。

{"data":[{"foo":"bar"}, {"foo":"baz"}]}

フィルター

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

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) を想定しています。
Regular expression フィールドには、正規表現を入力するか、グローバルな regular expression を参照できます。

Exists および does not exist 演算子を使用すると、応答内に指定した LLD マクロが存在するかどうかに基づいてエンティティをフィルタリングできます。
フィルター内のマクロが応答に含まれていない場合、そのエンティティは無視されます。ただし、そのマクロに対して "does not exist" 条件が指定されている場合は除きます。

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

たとえば、C:、D:、E: のファイルシステムだけに関心がある場合は、Macro フィールドに {#FSNAME} を、Regular expression フィールドに ^C|^D|^E を指定します。
フィルタリングは、{#FSTYPE} マクロを使用してファイルシステムの種類でも可能です(例: ^ext|^reiserfs)。また、{#FSDRIVETYPE} マクロを使用してドライブの種類でも可能です(Windows エージェントでのみサポート、例: fixed)。

正規表現をテストするには、たとえば grep -E を使用できます。

for f in ext2 nfs reiserfs smbfs; 
do echo $f | grep -E '^ext|^reiserfs' || echo "SKIP: $f"; 
done

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

MySQL の Zabbix データベースは、ケースの違いのみで異なるファイルシステム名を正しく検出するために、大小文字を区別する設定で作成する必要があります。

オーバーライド

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

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

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

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

操作の設定

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

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

フォームボタン

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

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

検出されたエンティティ

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

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

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

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

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

検出されたエンティティが「これ以上検出されない」状態になると、エンティティリストにライフタイムインジケーターが表示されます。 マウスポインターをその上に移動すると、ステータスの詳細を示すメッセージが表示されます。

エンティティが削除対象としてマークされたが、期待された時刻に削除されなかった場合(ディスカバリールールやアイテムホストが無効化された場合)、次回ディスカバリールールが処理される際に削除されます。

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

その他のディスカバリタイプ

他の種類の標準ディスカバリについての詳細やハウツーは、以下のセクションで確認できます。

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