agent.ping.nodata(5m)を短くしたらエラーが連発
いつもお世話になっております。
OSのシャットダウンした時に、Zabbixエージェント停止の検知を早くしたいと考えております。
デフォルトのトリガーを利用しております。
Zabbix agent on {HOST.NAME} is unreachable for 5 minutes
{Template App Zabbix Agent:agent.ping.nodata(5m)}=1
単純に
{Template App Zabbix Agent:agent.ping.nodata(1m)}=1
や
{Template App Zabbix Agent:agent.ping.nodata(60)}=1
にしましたら、PROBLEMとOKのメール通知が繰り返し連発してしまいました。
CPU負荷状況を見ても突発的に上がるような負荷はありませんでした。
解決する方法を探し出すことができなく、
ご教授ご鞭撻のほどよろしくお願い致します。
■構成
Zabbix
zabbix-server-mysql.x86_64 3.2.7-1.el6 @zabbix-deprecated
zabbix-web.noarch 3.2.7-1.el6 @zabbix-deprecated
zabbix-web-mysql.noarch 3.2.7-1.el6 @zabbix-deprecated
OS
CentOS release 6.8 (Final)
プロキシ構成
プロキシにて以下コマンドを実行してもすぐにリクエスト結果を取得できております。
zabbix_get -s 10.26.3.168 -k "agent.ping"
以上よろしくお願い致します。
TNK - 投稿数: 4730
アイテムagent.pingの更新間隔はどのように設定されましたか?
60秒で設定されているのであれば、1mや60(s)の引数でnodata()を
使用された場合は、タイミングによっては障害となる可能性がある
ので、nodata(1m)やnodata(60)で判定したいのであれば、それより
も短い間隔でアイテムの更新間隔を設定してみてください。
dabesa53 - 投稿数: 21
いつもお世話になっております。
ご回答ありがとうございます!
agent.pingの監視間隔はデフォルトの1mでした。
nodata(1m)ならば、より短い間隔を設定することになるのですね。
ありがとうございます!
fripper - 投稿数: 495
Proxyご利用とのこと
データ収集は、proxyからagentに対し、アイテム設定の間隔に応じて行われています
(今回の場合は agent.ping ですので、内部的には「データ収集」というか
エージェントとの通信疎通が確認された場合に、正常を示す値が記録される)
トリガーのnodata判定はサーバ側での実行となります
nodata 関数を利用した場合には、proxy/agent からの監視データ更新・到着の有無に関わらず
30sec おきに、「最終到着データのタイムスタンプ」と「現在時刻」が比較されて
1分以上経過していたら「障害」と判定(nodata(1m) の場合)‥といった動作です
proxyで収集されたデータは、proxy.conf の DataSenderFrequencyにもとづいて
纏めてサーバへ送信されます(デフォルト 60sec)
今回の事象は、おそらく、DataSenderFrequency側の設定がデフォルトのままだったため
新規収集データの到着と、nodata 評価のタイミングとが微妙に前後してしまい、
60sec 以内の収集データが未着だったために、結果的に「障害」の判定となってしまったのだと思います
========
・Proxyの上ではアイテム収集が実施され、「正常値」が記録・収集されているけれど、
サーバへは未報告・未到着
・サーバ側は、Proxyから到着・格納済のデータをもとにトリガー判定するので
ここ60sec にはproxyからの収集結果値がなかったため「障害」として検知
========
Proxyを利用される場合で、nodata による障害検知を使いたい場合には‥
・proxy.conf のDataSenderFrequencyを、nodata での検知しきい値からみて 1/2 未満程度にする
・逆に、nodata での評価基準時間を、DataSenderFrequencyの2倍強とする
が良いかと思います
2倍程度の余裕をみているのは、Proxy→Serverの通信が、
軽度の通信エラー(リトライすれば成功するような程度)で
少し滞ってしまっただけで、「障害」として検知してしまうからです
#私の手元環境では、agent.ping は120sec 、nodata のしきい値は 600sec 、DataSenderFrequency は 60sec としています