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.

3 トリガーの依存関係

概要

ホストの可用性が他のホストに依存する場合があります。ルーターの背後にあるサーバーは、ルーターがダウンすると到達不能になります。 両方にトリガーが設定されていると、2つのホストがダウンしたという通知が届くかもしれませんが、実際にはルーターだけが原因だったということになります。

このような場合、ホスト間の依存関係が役立ちます。依存関係を設定すると、依存するホストの通知を保留し、根本的な問題の通知のみを送信できます。

Zabbixはホスト間の依存関係を直接サポートしていませんが、より柔軟な方法であるトリガー依存関係を定義できます。トリガーは、1つまたは複数の依存するトリガーを持つことができます。

この簡単な例では、サーバーのトリガー設定フォームを開き、ルーターの該当するトリガーに依存するように設定します。このような依存関係がある場合、依存するトリガーが「PROBLEM」状態である限り、サーバートリガーは状態を変更せず、依存するアクションは実行されず、通知も送信されません。

サーバーとルーターの両方がダウンしていて依存関係がある場合、Zabbixは依存するトリガーのアクションを実行しません。

親トリガーがPROBLEM状態の間は、その依存トリガーが信頼できない値を報告する可能性があります。 したがって、親トリガー(上記の例ではルーター)が以下のいずれかの状態になるまで、依存するトリガーは再評価されません。

  • 「PROBLEM」から「OK」状態に戻る
  • 「PROBLEM」から「UNKNOWN」状態に変わる
  • 手動、相関、または日付と時刻nodata()関数の助けでクローズされる
  • 依存するトリガーに関与していないアイテムの値によって解決される
  • 無効化されている、無効なアイテムがある、または無効なアイテムホストがある

上記のいずれの場合も、依存するトリガー(サーバー)は新しいメトリックが受信されたときにのみ再評価されます。 つまり、依存するトリガーはすぐには更新されない場合があります。

また、

  • トリガー依存関係は、循環依存関係にならない限り、任意のホストトリガーから他のホストトリガーに追加できます。
  • トリガー依存関係は、あるテンプレートから別のテンプレートに追加できます。テンプレートAのトリガーがテンプレートBのトリガーに依存している場合、テンプレートAはテンプレートBと一緒にのみホスト(または他のテンプレート)にリンクできますが、テンプレートBは単独でホスト(または他のテンプレート)にリンクできます。
  • トリガー依存関係は、テンプレートトリガーからホストトリガーに追加できます。この場合、そのようなテンプレートをホストにリンクすると、依存していたトリガーテンプレートと同じトリガーに依存するホストトリガーが作成されます。これにより、たとえば、いくつかのトリガーがルーター(ホスト)トリガーに依存するテンプレートを持つことができます。このテンプレートにリンクされたすべてのホストは、その特定のルーターに依存します。
  • トリガー依存関係は、ホストトリガーからテンプレートトリガーには追加できません。
  • トリガー依存関係は、トリガープロトタイプから別のトリガープロトタイプ(同じ低レベルディスカバリールール内)または実際のトリガーに追加できます。トリガープロトタイプは、異なるLLDルールのトリガープロトタイプや、トリガープロトタイプから作成されたトリガーには依存できません。ホストトリガープロトタイプは、テンプレートのトリガーには依存できません。

設定

依存関係を定義するには、トリガーの設定フォームで「依存関係」タブを開きます。「依存関係」ブロックで追加をクリックし、トリガーが依存する1つまたは複数のトリガーを選択します。

更新をクリックします。これで、トリガーのリストに依存関係が表示されます。

複数の依存関係の例

例えば、ホストはRouter2の背後にあり、Router2はRouter1の背後にあります。

Zabbix - Router1 - Router2 - Host

Router1がダウンしている場合、ホストとRouter2も明らかに到達不能ですが、ホスト、Router1、Router2がすべてダウンしているという3つの通知を受け取るのは過剰です。

この場合、2つの依存関係を定義します。

「ホストがダウンしている」トリガーは「Router2がダウンしている」トリガーに依存する
       Router2がダウンしている」トリガーは「Router1がダウンしている」トリガーに依存する

「ホストがダウンしている」トリガーのステータスを変更する前に、Zabbixは対応するトリガーの依存関係をチェックします。そのような依存関係が見つかり、それらのトリガーの1つが「問題」状態の場合、トリガーのステータスは変更されず、アクションは実行されず、通知も送信されません。

Zabbixはこのチェックを再帰的に実行します。Router1またはRouter2が到達不能な場合、ホストのトリガーは更新されません。