ポーリング監視のリトライによる誤検知防止について
お世話になります。
現在、Zabbix2.0.8を構築し、もう一つのオープンソース統合監視ツールのNagiosと比較しております。
そこで、表題の件についてのご質問させていただきます。
Nagiosでの誤検知防止として、通常監視間隔(check_interval)、リトライ間隔(retry_interval)、リトライ回数(max_check_attempts)を
設定することが可能ですが、Zabbixでも同様の動作をさせるための設定方法はありますでしょうか?
Nagiosの誤検知防止の動作は、通常5分間隔でポーリングし異常を検知すると、1分後にリトライし再度結果が異常であれば、
アラートメールを送信することができます。
Nagiosの define host もしくは define service で以下のパラメータにより設定可能です。
====
check_interval : 5 [分]
retry_interval : 1 [分]
max_check_attempts : 2 [回]
====
このときNagiosの管理画面上では、5分間隔の監視で異常を検知(1回目)するとCRITICALと表示されますが、
アラートメールはリトライでの監視結果で異常を検知(2回目)しないと送信されません。
Zabbixでも同様の動作をさせたいのですが、トリガーとアクションを組み合わせれば可能でしょうか?
そのあたりの知見をいただければありがたいです。
よろしくお願いいたします。
TNK - 投稿数: 4769
Zabbixの場合、通常は5分間隔で、失敗したら1分間隔で再チェック
という機能はなかったと思います。
Zabbixの場合は、複数回連続で失敗した場合は障害とみなすという
トリガーを記述して対応することになると思います。
socio21945 - 投稿数: 53
TNK様
早々に回答いただき、ありがとうございます。
Zabbixの標準機能では実装されていないということですね。
また、追加でご質問させてください。
特定のアイテムで異常を検知して、トリガーからアクションを実行する際に、
別のアイテムを実行する方法はありますでしょうか?
よろしくお願いします。
TNK - 投稿数: 4769
トリガーで検知してアクションを実行する際には、アクションとし
て、メッセージを送信したり、スクリプトを実行したり、リモート
コマンドとして障害が発生したホスト上でコマンドやスクリプトを
実行したりと様々なアクションを実行することができます。
それを契機に、普通に登録されたアイテムの値を取得させるような
ことはできませんが、アクションで実行したスクリプトなどで、
Zabbixサーバ側にzabbix_senderなどを利用して値を送り込むこと
であれば実現可能です。
fripper - 投稿数: 495
アクションから呼びだされるスクリプト内で、zabbix_sender を利用して
新たなデータ取得結果値を、アイテム値として zabbix_server へ送信するような
仕組みの場合、1つ注意が必要です
とある監視項目が障害判定された結果、アクションが呼びだされ、
そこから登録された新たな値が、さらに別の障害と判定され、アクションが呼びだされ
またそこからそこから登録された新たな値が、さらに別の障害と判定され、アクションが呼びだされ・・・と
無限ループに陥る可能性があります。
サーバ側のリソース枯渇を引き起こしたり、
通知メールが爆発したりする要因にもなりますので、
十分に注意してください
socio21945 - 投稿数: 53
TNK様 fripper様
返信が遅れてしまいしまいましたが、回答と補足ありがとうございます。
その後、回答で教えていただいた zabbix_sender の動作を確認しており、
追加で質問させていただきます。
今回、zabbix_proxyを用いた分散監視の構成をとっており、中央ノードには
「プロキシによる監視」を有効にして監視対象をホストとして登録しています。
このとき、そのホストに登録されているアイテム(Zabbixトラッパー)に対して
zabbix_sender を使って値を送り込むことは可能なのでしょうか?
「プロキシによる監視」を有効にしていない中央ノードのアイテムには値を
送り込めることを確認できましたが、プロキシを経由するホストのアイテムでは
エラーになってしまいます。
※zabbix_sender コマンドは、プロキシから発行しています。
zabbix_sender コマンドでのホスト名指定(-sオプション)方法を変えてみたり
(ホスト名だけ、プロキシ名:ホスト名など)しましたが、何か他に指定方法が
あるのでしょうか。
よろしくお願いいたします。
fripper - 投稿数: 495
プロキシ経由の監視を実施している場合、zabbix_sender での送信先は、
サーバではなくプロキシになります
トラッパー型のアイテムをサーバ側で定義して、
当該アイテムの設定内容がプロキシまで伝播した後ならば、
値が登録できるかと思います
お試しください
socio21945 - 投稿数: 53
fripper様
返信遅れました。
回答ありがとうございます。
zabbix_senderでプロキシ宛に送信したところ、無事に値が入りました。
また、分からないことがあれば、改めて質問させていただきたいと思います。
迅速に対応いただき、ありがとうございました。