Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

3 トリガーの依存関係

概要

あるホストの可用性が他のホストに依存することがあります。ルータの背後にあるサーバは、ルータがダウンすると到達不能になります。
両方のホストに対して trigger を設定した場合、2つのホストがダウンしたことを通知されるかもしれません - ルーターだけが悪者です。

ここで、ホスト間の依存関係が役に立つかもしれません。依存関係を設定することで、依存関係にあるホストの通知を保留し、
根本的な問題に対する通知のみを送信することができます。

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

この例では、server trigger の設定フォームを開き、ルータのそれぞれの trigger に依存するように設定します。
そのような依存関係では、server の trigger は、依存する trigger が 'PROBLEM' 状態である限り、状態を変更しません。
従って、依存するアクションは取られず、通知も送られません。

server とルータの両方がダウンしており、依存関係が存在する場合、Zabbix は依存する trigger のアクションを実行しません。

依存する trigger のアクションは、依存する trigger が以下の状態である場合、実行されません。

  • 状態が 'PROBLEM' から 'UNKNOWN' に変更された場合。
  • 手動で、相関関係で、または時間ベースの関数の助けを借りて、閉じられます。
  • 依存する trigger に関与していない item の値によって解決される。
  • 無効にされた、無効にされた item がある、または無効にされた item があるホスト

上記のケースの "二次"(従属)トリガは、すぐには更新されないことに注意してください。親 trigger がPROBLEM状態の間、
その従属 trigger は、信頼できない値を報告するかもしれません。従って、従属 trigger は、親 trigger がOK状態にあり、
信頼できるメトリクスを受け取った後でのみ、再評価され、状態が変更されます。

また

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

設定

依存関係を定義するには、トリガーconfiguration formで Dependencies タブを開きます。 'Dependencies' ブロックの Add をクリックし、trigger が依存する1つ以上の trigger を選択します。

Update をクリックします。これで、trigger はリスト内の依存関係を表示するようになりました。

複数の依存関係がある場合の例

例えば、あるホストがルータ2の背後にあり、ルータ2がルータ1の背後にある場合です。

Zabbix - ルータ1 - ルータ2 - ホスト

ルータ1がダウンした場合、当然ホストとルータ2も到達不能になりますが、ホスト、ルータ1、ルータ2がすべてダウンしたという通知を
3回受け取りたくはありません。

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

Host is down' trigger は 'Router2 is down' trigger に依存する。
       Router2 is down' trigger は 'Router1 is down' trigger に依存する。

'ホストがダウンしている' trigger のステータスを変更する前に、Zabbixは対応する trigger の依存関係を確認します。
もし、見つかった場合、それらの trigger の1つが '問題' 状態であれば、trigger のステータスは変更されず、アクションは実行されず、通知も送信されません。

Zabbix はこのチェックを再帰的に実行します。ルータ1またはルータ2が到達不能の場合、Host trigger は更新されません。