あるホストの可用性が他のホストに依存することがあります。ルータの背後にあるサーバは、ルータがダウンすると到達不能になります。
両方のホストに対して trigger を設定した場合、2つのホストがダウンしたことを通知されるかもしれません - ルーターだけが悪者です。
ここで、ホスト間の依存関係が役に立つかもしれません。依存関係を設定することで、依存関係にあるホストの通知を保留し、
根本的な問題に対する通知のみを送信することができます。
Zabbix はホスト間の依存関係を直接サポートしていませんが、より柔軟な別の方法である trigger 依存関係で定義することができます。
trigger は1つ以上の trigger を持つことができ、その trigger に依存します。
この例では、server trigger の設定フォームを開き、ルータのそれぞれの trigger に依存するように設定します。
そのような依存関係では、server の trigger は、依存する trigger が 'PROBLEM' 状態である限り、状態を変更しません。
従って、依存するアクションは取られず、通知も送られません。
server とルータの両方がダウンしており、依存関係が存在する場合、Zabbix は依存する trigger のアクションを実行しません。
依存する trigger のアクションは、依存する trigger が以下の状態である場合、実行されません。
上記のケースの "二次"(従属)トリガは、すぐには更新されないことに注意してください。親 trigger がPROBLEM状態の間、
その従属 trigger は、信頼できない値を報告するかもしれません。従って、従属 trigger は、親 trigger がOK状態にあり、
信頼できるメトリクスを受け取った後でのみ、再評価され、状態が変更されます。
また
依存関係を定義するには、トリガーconfiguration formで Dependencies タブを開きます。 'Dependencies' ブロックの Add をクリックし、trigger が依存する1つ以上の trigger を選択します。
Update をクリックします。これで、trigger はリスト内の依存関係を表示するようになりました。
例えば、あるホストがルータ2の背後にあり、ルータ2がルータ1の背後にある場合です。
ルータ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 は更新されません。