Zabbix Agentの疎通不可について
タイトルの件,発生原因が特定できていないため質問させて頂きました。
RHEL6系とZabbix3.0の組み合わせによる影響の可能性やZabbixのバグの可能性も含めご教授頂けないでしょうか。
【現象】
agent.pingが通っていないのにも関わらず,エージェント側のログに何も出力されていない。
【確認したこと】
1.Agent→Serverへのagent.pingが通っていないことを確認。
2.サーバ側のログ(zabbix_server.log)では下記(item名はダミーです)が表示されていることを確認。
→ 1374:20170303:220119.411 Zabbix agent item "hogehoge" on host "agent001" failed: first network error, wait for 15 seconds
3.エージェント側のログ(zabbix_agentd.log)には何も表示されておらず。
4.Zabbix Agentのプロセスが起動していることを確認(ダウンしたわけではないことを確認)。
5.Zabbix Agentを再起動後,監視が再開されていることを確認。
【環境】
下記3台のサーバを同じネットワーク内に配備しており,server001 - agent001間でagent.pingの疎通不可となった。
同時刻でserver001 - agent002の疎通は継続されていた。
1.運用管理サーバ(server001)
■OS:CentOS 6.7
■Zabbix Ver:Zabbix Server 3.0.7
2.監視対象サーバ1(agent001)
■OS:CentOS 6.4
■Zabbix Ver:Zabbix Agent 3.0.7
3.監視対象サーバ2(agent002)
■OS:CentOS 6.4
■Zabbix Ver:Zabbix Agent 3.0.7
TNK - 投稿数: 4769
タイプが「Zabbixエージェント」のagent.pingは、Zabbixサーバー
からZabbixエージェントに接続できるかのチェックですので、接続
できていなければZabbixエージェント側にはログは残らないでしょ
う。
agent.pingで疎通が確認できなかった時間帯に、agent001の負荷が
高かったりしませんでしたか?
負荷が高くて応答が遅くなった場合、タイムアウトが発生する場合
があります。
symmetricds.batcherror.eiserv[outgoing]の値取得処理に時間が
かかるようであれば、この値取得処理でもタイムアウトが発生して
いるかもしれません。
デフォルトでは、3秒でタイムアウトしてしまいますので、負荷が
高くて応答が遅くなる場合があるような環境では、設定ファイルの
Timeoutの値を長めに設定してみてください。
rymk - 投稿数: 9
TNK様
早速のご回答ありがとうございます。
>agent.pingで疎通が確認できなかった時間帯に、agent001の負荷が高かったりしませんでしたか?
疎通ができなくなる直前のCPU負荷,ディスクI/O,メモリ,ネットワーク負荷を確認しましたが
平常時との違いは特に見うけられませんでした(監視が再開された際に一時的にCPU負荷が高まっていましたが)。
>設定ファイルのTimeoutの値を長めに設定してみてください。
Timeout値は最大値(30秒)に設定しています。
「これまで問題なく監視ができていた」
「特に何の設定変更もせずにエージェントを再起動しただけで問題なく監視が再開された」
「予兆のようなもの(CPU負荷高騰など)は見受けられない」
ことから,原因が特定できずにいます。
他に考えられる要因はありますでしょうか。
TNK - 投稿数: 4769
OS自体やネットワークに問題が発生していた可能性も考えられます。
/var/log/messagesなどに何か出力されていませんでしたか?
あと、Zabbixの詳細なバージョンもお教えください。
同じ3.0でも初期のバージョンと最新のバージョンでは、メモリリ
ークなどのバグや脆弱性の問題が改善されていたりします。
OS、Zabbixエージェントの両方とも、より新しいバージョンにする
ことで改善する場合もあるかもしれません。
rymk - 投稿数: 9
TNK様
お世話になっております。
>/var/log/messagesなどに何か出力されていませんでしたか?
エージェントと疎通が負荷になっていた時間帯に特にログは出力されていませんでした。
>あと、Zabbixの詳細なバージョンもお教えください。
すみません,始めに記載しておくべきでした。
バージョンは3.0.7になります(元の投稿にも反映させました)。
>OS、Zabbixエージェントの両方とも、より新しいバージョンにする
>ことで改善する場合もあるかもしれません。
そうですね。OS,Zabbixのバージョンアップも今後の対策としては視野に入れています。
このバージョンのバグや脆弱性の問題で突発的に起こった現象であるという確証の持てるエビデンスがあれば良いのですが…
heya - 投稿数: 319
確認ですが、
以前は agent.ping も普通に値が取れていたが、
再起動もしないのにいつの間にか取れなくなっていた、
そしてエージェントを再起動したらまた取れるようになった
・・・ということですよね?
可能性はとても低いと思いますが、思いついたものを二つほど。
・知らない間に誰かが(一時的に)ファイアウォールや iptables などの設定を変えていたとか?
・ホストのインターフェースの設定が DNS で、一時的に名前解決できなかったとか?(私は DNS で設定したことがないのでログにどう出るかは分からないのですが)。
参考までにいくつか質問です。
・agent.ping の値が取れなかったのはどれくらいの期間ですか?
・エージェントからのアクティブチェック(ログなど)のアイテムがあったとしたら、それはちゃんとデータを送れていましたか?
・もちろん、サーバーやエージェントの設定は疎通不可→再起動までの間、一切変更していないんですよね?
#聞いたところでおそらく私には原因不明ですが、どなたかの参考になるかもしれないので。
rymk - 投稿数: 9
heya様
ご回答ありがとうございます。
>確認ですが、
> 以前は agent.ping も普通に値が取れていたが、
> 再起動もしないのにいつの間にか取れなくなっていた、
> そしてエージェントを再起動したらまた取れるようになった
>・・・ということですよね?
はい,その通りです。
>可能性はとても低いと思いますが、思いついたものを二つほど。
>・知らない間に誰かが(一時的に)ファイアウォールや iptables などの設定を変えていたとか?
>・ホストのインターフェースの設定が DNS で、一時的に名前解決できなかったとか?(私は DNS で設定したことがないのでログにどう出るかは分からないのですが)。
ご指摘ありがとうございます。
特に上記のような動きは見受けられませんでした。
>参考までにいくつか質問です。
>・agent.ping の値が取れなかったのはどれくらいの期間ですか?
agent.pingの値が取れなかったのは40分間ほどです。
とはいえ,プロセスの状態やログの確認などの作業を経て再起動の決断を行うまでの期間が40分間ほどでしたので
再起動を行わなければもっと長い間値が取れなかったのだろうと思います。
>・エージェントからのアクティブチェック(ログなど)のアイテムがあったとしたら、それはちゃんとデータを送れていましたか?
アクティブチェックのアイテムはあるのですが,通知される頻度がそもそも少ないためデータが取得できているかのかは分かりませんでした。
>・もちろん、サーバーやエージェントの設定は疎通不可→再起動までの間、一切変更していないんですよね?
はい。設定変更はしていません。