ZabbixAgentの検知ができない

ZabbixServer をHA構成で運用しています。
S1, S2, S3, S4 とサーバがあるとします。S1, S2 に Zabbix Serverがあり、片方で稼働しています。S1, S2, S3, S4 上で、Zabbix Agent が稼働しており、S1, S2 の稼働側に割り当てられる仮想IPを宛先にしています。

今回、S1 -> S2 と、ZabbixServer の切り替えを行ったところ、S3, S4 の検知ができなくなりました。S1, S2 は、Zabbix Agent の再起動を行ったせいか、検知はできています。

仮想IPは変わらないので、問題ないかと考えていたのですが、ZabbixServerが変わった際は、ZabbixAgent は再起動が必要なのでしょうか。仮想IPは、稼働が切り替わる際に割り当てられます。
あるいは、別の理由が考えられるのでしょうか。

なにかご存知の方がいらっしゃれば教えて頂ければ幸いです。
よろしくお願いいたします。

コメント表示オプション

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

恐らく、ZabbixエージェントにZabbixサーバから接続する際の接続
元のIPアドレスが、zabbix_agentd.conf内のServerに設定した値に
なっていないのだと思われます。

まず、以下のような環境であると仮定します。

 仮想IPアドレス: 192.168.1.1
 S1のIPアドレス: 192.168.1.10
 S2のIPアドレス: 192.168.1.11

現在は、zabbix_agentd.conf内のServerの値として、192.168.1.1
のみを指定されていると思いますが、
<code>
Server=192.168.1.1,192.168.1.10,192.168.1.11
</code>
のようにカンマで区切って複数のIPアドレスをならべるように変更
してみてください。

設定変更後のZabbixエージェントの再起動は必要ですが、その後は、
クラスタリングされているZabbixサーバが切り替わったとしても、
各Zabbixエージェントの再起動は必要ないと思います。

ご確認ください。

ユーザー kodai の写真

もしくは、Zabbixサーバ側でSourceIPを指定して、送信元のIPアドレスを固定してみてください。

ユーザー domekichi の写真

zabbix_server.conf で良いでしょうか。
<code>SourceIP=192.168.xx.xx</code>
と、仮想IPアドレスの指定となっておりました。

言い遅れましたが、zabbix-1.8.3 を使用しています。パッケージは、ZabbixJPのものを使用しています。

設定がおかしいですか。

ユーザー TNK の写真

Zabbixの設定はおかしくなさそうです。
あとSourceIPを指定するのは、domekichiさんが書かれている通り、
zabbix_server.confです。

可能であれば、どれか一台のzabbix_agentd.confのDebugLevelを4
に設定して、監視できなくなった時のログを確認して頂けませんで
しょうか?

恐らく、Zabbixサーバからの接続を拒否しているようなログが
出力されるのではないかと思います。
接続しにきているログが出ないようであれば、通信経路内でFirewall
など何らかの制限がかかっていないか再度ご確認頂けませんでしょ
うか?

ユーザー domekichi の写真

分かりました。お客様環境ですので、すぐにとは行きませんが、ログレベルを上げての確認をしたいと思います。
現時点では、まだ、事象の確認のみで、ログファイルの確認もできていません。
進捗がありましたら、報告させていただきます。

ユーザー TNK の写真

もし、可能であるならば、HA構成にするために何を利用されて
いるかもお教え頂くことは可能でしょうか?

すぐにできるかはわかりませんが、こちらでも用意できるような
プロダクトを利用されているのであれば、再現環境を構築するこ
とも検討してみたいと考えています。

ユーザー domekichi の写真

heartbeatになります。V1設定で利用しています。

ユーザー domekichi の写真

TNKさん
ありがとうございます。
ただ、zabbix_agentd.conf内のServerの値は
<code>Server=192.168.xx.x1,192.168.xx.x2,192.168.xx.x3</code>
となっていました。
サーバが取り得るIPアドレスは指定済みでした。