ネットワーク警告灯の点灯

Zabbix 2.2.6 で、ユーザーのメディア設定で外部スクリプトを使ってネットワーク警告灯を
点灯して使っております。

アクション・メッセージの件名に含まれる {TRIGGER.STATUS} が "OK" か "PROBLEM" かによって
シグナルタワーの色を変えているのですが、複数のトリガーが発生・復旧した際に、
最初のリカバリー・メッセージでグリーン点灯にになってしまい、障害が継続中であることが
示せないで困っております。

ダッシュボードの「Zabbixサーバーの状態」にあります、トリガー数 [障害] のような値を
アクション・メッセージに載せられれば、0以外で赤点灯、0でグリーン点灯とできるのですが、
マップで使えるような {TRIGGERS.UNACK} のようなマクロはアクションの通知では使えないようです。

外部スクリプトで独自にカウンター変数を持って、最後の復旧でグリーン点灯となるようにすれば
解決しますが、状態が一致しなくなった時の操作が厄介です。

アクションとは関係なく、cron等を使ってデータベースの「障害トリガー数」を調べて
シグナルタワーに反映させる方法も考えましたが、応答時間の問題が出てきそうです。

何か良いアイデアがあれば教えて頂けますでしょうか。
よろしくお願いします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

運用体制によっては、リカバリ時の消灯や正常化の実行はZabbix側
から行わないようにして、障害発生時のみZabbixから点灯させて、
手動で消灯やリセットを行うようにしているところもあるようです。

システム全体での障害有無を確認するのであれば、アクションで呼
び出すスクリプトで、Zabbix APIを利用して障害件数を取得して判
断するようなスクリプトを作成することが必要となると思います。

ユーザー otsuka512 の写真

返信ありがとうございます。アクションによる消灯は行わないようにして、
外部の仕組みで Zabbix API の障害件数を取得して消す方向で進めてみます。

ところで、Zabbix API Method reference を見ていますが、
ダッシュボードの「Zabbixサーバーの状態」のような値は、
どのカテゴリーに属するのでしょうか。

ユーザー TNK の写真

それぞれの項目は、以下のオプジェクトに対するメソッドを呼び出
せば取得できると思います。

 ホスト数  : Host
 アイテム数 : Item
 トリガー数 : Trigger
 ユーザー数 : User

ただし、「Zabbixサーバーの起動」、オンラインの「ユーザー数」、
「1秒あたりの監視項目数」に関しては、APIでは取得できなかった
と思います。

Zabbixサーバーの起動の項目に関しては、Webインターフェースか
らZabbixサーバーに接続できるかと、Webインターフェースの設定
ファイルから読み込んだ情報です。
ユーザーのオンライン数に関しては、データベース上ではセッショ
ン情報として管理されているのですが、APIの一覧にはないような
のでAPIでは取得できなさそうです。