zabbix_server.logに出力されるCannot connectエラー

いつもお世話になっております。

現在AmazonEC2環境(DebianLinux)において、ZABBIX1.4.6を使ったサーバ監視をしています。
これまで半年以上問題なく監視できていたのですが、先日突然監視サーバがダウンしてしまいました。
復旧は問題なく完了しているのですが、
zabbix_serverの起動時にログにエラーのようなものが出力されています。

>Get value from agent failed. Error

今の所監視に直接問題ありませんが、
本現象について、何が原因で発生しているのか、無視してよいのか分からないといった状態です。

お手数お掛けしますが、
本現象についての原因及び発生させないようにする為の対処法等あれば教えて頂けますでしょうか。

■監視サーバ(パブリックIP:175.xx.xxx.xxx/プライベートIP:10.130.xxx.xxx)
 ZABBIX本体をここにインストールしています。
?/etc/zabbix/zabbix_server.conf
ListenPort=10051
ListenIP=10.130.xxx.xxx

?/var/log/zabbix-server/zabbix_server.log
4395:20110509:011626 ZABBIX Server stopped
4461:20110509:011803 Starting zabbix_server. ZABBIX 1.4.6.
4461:20110509:011803 **** Enabled features ****
4461:20110509:011803 SNMP monitoring: YES
4461:20110509:011803 WEB monitoring: YES
4461:20110509:011803 Jabber notifications: YES
4461:20110509:011803 IPv6 support: NO
4461:20110509:011803 **************************
4463:20110509:011803 server #2 started [Poller. SNMP:ON]
4462:20110509:011803 server #1 started [Poller. SNMP:ON]
4464:20110509:011803 server #3 started [Poller. SNMP:ON]
4465:20110509:011803 server #4 started [Poller. SNMP:ON]
4466:20110509:011803 server #5 started [Poller. SNMP:ON]
4467:20110509:011803 server #6 started [Trapper]
4468:20110509:011803 server #7 started [Trapper]
4469:20110509:011803 server #8 started [Trapper]
4470:20110509:011803 server #9 started [Trapper]
4472:20110509:011803 server #10 started [Trapper]
4474:20110509:011803 server #11 started [ICMP pinger]
4476:20110509:011803 server #12 started [Alerter]
4478:20110509:011803 server #13 started [Housekeeper]
4478:20110509:011803 Executing housekeeper
4479:20110509:011803 server #14 started [Timer]
4481:20110509:011806 server #15 started [Poller for unreachable hosts. SNMP:ON]
4482:20110509:011806 server #16 started [Node watcher. Node ID:0]
4485:20110509:011806 server #17 started [HTTP Poller]
4486:20110509:011806 server #18 started [HTTP Poller]
4488:20110509:011806 server #19 started [HTTP Poller]
4490:20110509:011806 server #20 started [HTTP Poller]
4481:20110509:011806 Get value from agent failed. Error: Cannot connect to [184.xx.xxx.xxx:10050] [Connection refused]
4481:20110509:011806 Host [XXXXX_Honban] will be checked after 60 seconds
4493:20110509:011806 server #22 started [Discoverer. SNMP:ON]
4461:20110509:011806 server #0 started [Watchdog]
4492:20110509:011806 server #21 started [HTTP Poller]
4478:20110509:011807 Deleted 946 records from history and trends
4481:20110509:011906 Get value from agent failed. Error: Cannot connect to [184.xx.xxx.xxx:10050] [Connection refused]
4481:20110509:011906 Host [XXXXX_Honban] will be checked after 60 seconds
4481:20110509:012007 Enabling host [XXXXX_Honban]

■本番サーバ(184.xx.xxx.xxx)
 ZABBIXエージェントが入っています。
?/etc/zabbix/zabbix_agentd.conf
Hostname=XXXXX_Honban
Server=175.xx.xxx.xxx
ServerPort=10051
ListenPort=10050
ListenIP=(コメントアウト)

?/var/log/zabbix-agent/zabbix_agentd.log
12330:20110509:100250 ZABBIX Agent stopped
31405:20110509:101913 zabbix_agentd started. ZABBIX 1.4.6.
31406:20110509:101913 zabbix_agentd collector started
31407:20110509:101913 zabbix_agentd listener started
31408:20110509:101913 zabbix_agentd listener started
31409:20110509:101913 zabbix_agentd listener started
31410:20110509:101913 zabbix_agentd active check started [175.xx.xxx.xxx:10051]

コメント表示オプション

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

4481:20110509:011806 Get value from agent failed. Error: Cannot connect to [184.xx.xxx.xxx:10050] [Connection refused]

Connection refusedですから、監視サーバから184.xx.xxx.xxxに対
して、ポート番号10050で接続できないということでしょう。

AWSのセキュリティグループの設定や本番サーバのFirewallの設定
などを再確認してみてください。

問題が無いようであれば、監視サーバ上からtelnetコマンドを利用
して、
<code>
$ telnet 184.xx.xxx.xxx 10050
</code>
というようにポート番号を指定して接続できるか確認してみて下さ
い。
正常に接続できたならば、すぐに、
<code>
agent.version
</code>
を入力すると以下のような応答が返却されるはずです。
<code>
$ telnet 184.xx.xxx.xxx 10050
Trying 184.xx.xxx.xxx...
Connected to aaaa.bbbb (184.xx.xxx.xxx).
Escape character is '^]'.
agent.version
ZBXD1.8.4Connection closed by foreign host.
$
</code>

ユーザー Lloyd の写真

TNK様
ありがとうございます。

ZABBIXに直接関係ない質問で恐縮なのですが、

監視サーバ上からtelnetコマンドを利用

とはどのようにすればよいのでしょうか?

従来、監視サーバに接続する時はputty(SSH/telnetクライアントソフト)を使っています。
puttyのコンソール画面からtelnetコマンドは実行できないように思われるので、
「監視サーバ上」という部分の実現方法がわかりません。

ちなみに、下記のポートチェックサイトで確認したところ、
ホスト:184.xx.xxx.xxx ポート:10050 にアクセスできました。
http://www.cman.jp/network/support/port.html

また、WindowsXP標準の「コマンドプロンプト」でtelnet接続を試したところ、
ポート10050、10051ともに接続に失敗しました。

ユーザー TNK の写真

ZABBIXに直接関係ない質問で恐縮なのですが、

監視サーバ上からtelnetコマンドを利用

とはどのようにすればよいのでしょうか?

監視サーバにPuTTYでSSHを利用して接続後、そこでtelnetコマンド
を実行するだけです。Debian上にもtelnetコマンドがあります。

もしかしたら、telnetを使わないようにするために監視サーバ上へ
telnetコマンドがインストールされていないかもしれません。
インストールされていなかった場合、接続確認の為だけに一時的に
インストールして、確認後にアンインストールすればよいのではな
いでしょうか。

ちなみに、下記のポートチェックサイトで確認したところ、
ホスト:184.xx.xxx.xxx ポート:10050 にアクセスできました。
http://www.cman.jp/network/support/port.html

大事なのは、監視サーバから184.xx.xxx.xxxへポート番号10050を
利用して接続できるかを確認することです。

ユーザー Lloyd の写真

TNK様
ありがとうございます。

下記リンク先を参考に、監視サーバにTelnetをインストールしました。
#apt-get install telnet
http://lina.hideyosi.com/zakki/82.html

その後、telnet接続を試みましたが、失敗しました。
TNK様のご認識どおり、
監視サーバから184.xx.xxx.xxxへポート番号10050で接続できないようです。

ip-10-zzz-zz-zz:~# telnet 184.xx.xxx.xxx 10050
Trying 184.xx.xxx.xxx...
telnet: Unable to connect to remote host: Connection refused
ip-10-zzz-zz-zz:~# telnet 184.xx.xxx.xxx 10051
Trying 184.xx.xxx.xxx...
telnet: Unable to connect to remote host: Connection refused
ip-10-zzz-zz-zz:~#

AWSのセキュリティグループは、監視サーバ側で以下のようになっています。
10050-10051において0.0.0.0/0(=無条件)で許可しているので、
開放されているように思えるのですが・・・。

Protocol FromPort ToPort SourceCIDR
--------------------------
tcp 22 22 0.0.0.0/0
tcp 80 80 0.0.0.0/0
tcp 81 81 0.0.0.0/0
tcp 82 82 0.0.0.0/0
tcp 443 443 0.0.0.0/0
tcp 8080 8080 0.0.0.0/0
tcp 10050 10051 0.0.0.0/0

あと考えられるとしたら、zabbix_agentd.conf の設定値Serverに
今はパブリックIP:175.xx.xxx.xxxをしているが、
プライベートIP:10.130.xxx.xxxにしないといけない、とかでしょうか。

ユーザー Lloyd の写真

遅くなりましたが、
監視サーバ(175.xx.xxx.xxx)にPuTTYでSSHを利用して接続後、telnetコマンドを実行して、
TNK様にコメント頂いた内容と同じ結果が出力されました。

ip-10-zzz-zz-zz:~#
ip-10-zzz-zz-zz:~# telnet 184.xx.xxx.xxx 10050
Trying 184.xx.xxx.xxx...
Connected to 184.xx.xxx.xxx.
Escape character is '^]'.
agent.version
ZBXD1.4.6Connection closed by foreign host.
ip-10-zzz-zz-zz:~#

これはつまり、監視サーバから184.xx.xxx.xxxに対して
ポート番号10050で接続できているということでしょうか。

それとも、
>Connection closed by foreign host
というメッセージから察するに、10050は別ホスト?によって閉じられているから、
接続できていないという事でしょうか。

引き続き調べてみますが、何かアドバイスいただけましたら幸いです。

ユーザー TNK の写真

「ZBXD1.4.6」という文字列が返却されているようですので、
ポート番号10050を利用してエージェントに接続できている
状態であると思います。

Connection closed by foreign host.

と出力されるのは、エージェントが応答を返却したらコネク
ションをすぐに切断するために発生してしまうものですので、
問題はありません。