Zabbix-Angetの監視のアイテムとトリガー設定について

お世話になっております。

ZabbixのAgent監視を行うために以下のアイテムとトリガーを設定しています。
Zabbixのバージョンは1.8.10-1を使っています。

--アイテム
タイプ:Zabbixエージェント
キー:agent.ping
データ型:数値(整数)
データの形式:10進数

--トリガー
条件式:agent.ping.last(0)}=0
イベント生成:ノーマル
深刻度:重度の障害

この設定でZabbix-Agentを停止して動作確認を行いましたが、
Agentとの通信が行えなくなるため、ステータスが重度の障害(赤色)ではなく、
不明(グレー)になってしまい、「重度の障害」で設定しているアクションが実行されません。

Agentが停止した際に重度の障害でトリガーを上げたいのですが、
この方法では実装出来ないのでしょうか?
また、代替の方法などありましたら、教えていただけますでしょうか。

宜しくお願いします。

コメント表示オプション

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

過去にも私が同じ質問をしたことがあるのですが、
agent.ping アイテムの値が戻ってこなくなるため、不明となります

ですので、トリガーでの判定にて、nodata 関数も組み合わせて

{host:agent.ping.last(0)}=0=1

などとすることで、検出ができるようになります

広瀬です

弊社環境でも同様事象がありました

ただ、ver1.4の頃から利用していて、エージェントが落ちる
ケースは一度もなかったので余り重視はしていません。
いちを、net.tcp.serviceアイテムとシンプルチェックを併用
しています

ただ、この手の監視設定を入れると、エージェントを止めた
い時にアラートをいちいち止めるか、メンテナンス設定入れる
る必要があるので、若干煩わしいです

ユーザー kodai の写真

fripperさんも書かれていますが、nodata()関数を利用して

{hostname:agent.ping.nodata(300)}=1

などとトリガーで設定してみてください。nodata()関数の詳細はオフィシャルマニュアルを見ていただくのが一番いいと思います。
http://www.zabbix.com/documentation/jp/1.8/manual/config/triggers#トリガー関数

ちなみに、agent.pingとnodata()の組み合わせで検知はできるのですが、個人的には分かりにくいと思っています。本家のBTSにはZabbixサーバーとエージェントでheartbeat通信をするのが良いのでは、と提案を上げていたりします。(まだ特にロードマップには取り上げられていないですけれど)
https://support.zabbix.com/browse/ZBXNEXT-1022

ユーザー matt の写真

以前のやり取りはこちらですね。
zabbix_agentd の停止検出について
http://www.zabbix.jp/node/1482
同じ用途に使えそうな「statusキーの非推奨」にも言及してありますので新規訪問者のご参考までに。

http://www.zabbix.com/documentation/2.0/manual/config/items/itemtypes/za...
にも言及ありました。
Can be used as a TCP ping. Use function nodata() to check for host unavailability.

因みにですが、agent.pingでagent自体は存在しかつunavailableで1以外を返すことはあるのでしょうか。
つまり {hostname:agent.ping.nodata(300)}=1 以外に{hostname:agent.ping.last(0)}#1 を入れる意義はあるのかと。
もし事例を御存知でしたら訓えてください。

ユーザー kodai の写真

agent.pingのキーは常に1を返すようになっていまして、他の値を返すことはありません。エージェントとの通信が行えれば1、行えなければ何もデータが帰ってこないということになります(実際にはポーリングのタイムアウト)。

ですので、{hostname:agent.ping.last(0)}#1を設定する意味はなく、nodata()の方だけ設定しておけば大丈夫です。

ユーザー matt の写真

kodaiさん

情報有難うございました。nodataのみの使用にします。

ユーザー cloret の写真

お世話になっております。

たくさんのサポートありがとうございました。

nodataとagent.pingの値でトリガーを設定することで、
Zabbix-AgentがDownした際の検出が出来るようなりました。

とりあえずは、この方法で実装しようかと思います。