突然止まった監視設定を再開させたい[Listener failed with error]
いつもこちらのサイトで勉強させて頂いています。
現在、監視サーバ、本番サーバともに、
異なる地域のAmazonEC2クラウド環境(DebianLinux)を使っています。
去年10月に設定した当初は正常に稼動していたのですが、
先日本番サーバのtomcatがダウンする障害があり、
その際zabbixからアラートメールが送られなかったため、
不思議に思ってログを見てみると、どうやら特定の日を境に監視が止まっていたようなのです。
12月08日に何が起こったのかはわかりませんが、とにかくZABBIXの監視を再開させたいと思います。
telnetで監視サーバにログインして、
/etc/init.d/zabbix-server start
/etc/init.d/zabbix-agent start
と単純に打鍵すればよいのでしょうか?
詳しい方がいましたら、アドバイス頂けますでしょうか。
よろしくお願いします。
■監視サーバ(server/175.xx.xxx.xxx)
【var/log/zabbix-server/zabbix_server.log】
1111:20101208:051921 Executing housekeeper
1111:20101208:051926 Deleted 20331 records from history and trends
2222:20101208:061140 Starting zabbix_server. ZABBIX 1.4.6.
2222:20101208:061140 **** Enabled features ****
2222:20101208:061140 SNMP monitoring: YES
2222:20101208:061140 WEB monitoring: YES
2222:20101208:061140 Jabber notifications: YES
2222:20101208:061140 IPv6 support: NO
2222:20101208:061140 **************************
2222:20101208:061143 Listener failed with error: Cannot bind to port 10051 for server 175.xx.xxx.xxx. Error [Cannot assign requested address]. Another zabbix_agentd already running ?.
上記ログを最後に、現在までログは出力されていません。
【var/log/zabbix-agent/zabbix_agent.log】
1172:20101208:061140 zabbix_agentd started. ZABBIX 1.4.6.
1172:20101208:061140 Listener failed with error: Cannot bind to port 10050 for server 184.xx.xxx.xxx. Error [Cannot assign requested address]. Another zabbix_agentd already running ?.
上記ログを最後に、現在までログは出力されていません。
■本番サーバ(agent/184.xx.xxx.xxx)
【var/log/zabbix-server/zabbix_agentd.log】
18135:20101208:142327 In check_security()
18135:20101208:142327 Requested [system.swap.size[,free]]
18135:20101208:142327 Sending back [939458560]
18136:20101208:142327 Processing request.
18136:20101208:142327 In check_security()
18136:20101208:142327 Requested [net.if.out[eth0,bytes]]
18136:20101208:142327 Sending back [1120480143]
18138:20101208:142336 get_active_checks('175.xx.xxx.xxx',10051)
18138:20101208:142339 Timeout while answering request
18138:20101208:142339 Get active checks error: Cannot connect to [175.xx.xxx.xxx:10051] [Interrupted system call]
18138:20101208:142339 Getting list of active checks failed. Will retry after 60 seconds
18138:20101208:142439 get_active_checks('175.xx.xxx.xxx',10051)
・・・中略・・・
999:20110325:125641 get_active_checks('175.xx.xxx.xxx',10051)
999:20110325:125644 Timeout while answering request
999:20110325:125644 Get active checks error: Cannot connect to [175.xx.xxx.xxx:10051] [Interrupted system call]
999:20110325:125644 Getting list of active checks failed. Will retry after 60 seconds
999:20110325:125745 get_active_checks('175.xx.xxx.xxx',10051)
999:20110325:125748 Timeout while answering request
999:20110325:125748 Get active checks error: Cannot connect to [175.xx.xxx.xxx:10051] [Interrupted system call]
999:20110325:125748 Getting list of active checks failed. Will retry after 60 seconds
上記のように、ずっとログを出力しています。
Cannot connect to〜とあるのは、監視サーバと接続できていないからでしょうか。
■本番サーバのポート(firefoxのツールElasticfoxで確認)
tcp 10050-10051 開放中
Lloyd - 投稿数: 25
各confファイルの設定は以下の通りです。
■監視サーバ(175.xx.xxx.xxx)
?/etc/zabbix/zabbix_server.conf
ListenPort=10051
ListenIP=175.xx.xxx.xxx
?/etc/zabbix/zabbix_agentd.conf
※監視サーバにAgentはいらないのかもしれませんが…。
Hostname=localhost
Server=175.xx.xxx.xxx
ServerPort=10051
ListenPort=10050
ListenIP=184.xx.xxx.xxx
?/etc/init.d/zabbix_agentd.conf
※手探りで環境構築していた際に置いてしまったのだと思います。
動作に影響はないと思われますが、消してもよいのかわからず…。
Hostname=XXXXX_Honban
Server=175.xx.xxx.xxx
ServerPort=10051
ListenPort=10050
ListenIP=175.xx.xxx.xxx
■本番サーバ(184.xx.xxx.xxx)
?/etc/zabbix/zabbix_agentd.conf
Hostname=XXXXX_Honban
Server=175.xx.xxx.xxx
ServerPort=10051
ListenPort=10050
#ListenIP=184.xx.xxx.xxx
※ListenIPは過去ログでコメントアウトしてもよいと書いてあったので、コメントアウトしています。
http://www.zabbix.jp/modules/newbb/viewtopic.php?topic_id=417&forum=5&start=0
TNK - 投稿数: 4731
EC2のインスタンスには、プライベートIPアドレスが付与されていると思います。
インスタンスに付与されるグローバルIPアドレスは外部からアクセスする時に利用するためのもので、AWS上の仕組みを利用してプライベートIPアドレスへの変換が行われて接続できるようになっています。
また、インスタンスに付与されるプライベートIPアドレスはDHCPで付与されます。
ですので、EC2上のインスタンスであれば、サーバ側、エージェント側両方とも、ListenIPは「0.0.0.0」を指定するかコメントアウトしてみてはいかがでしょうか。
セキュリティが気になられるのであれば、セキュリティグループの設定で特定のネットワークやIPアドレスからのみZabbixで利用するポートを利用可にするよう制限を行ってください。
Lloyd - 投稿数: 25
TNK様
ありがとうございます。
ひとまず接続が確認できましたので、
後学のために設定ファイルとログを記載しておきます。
■監視サーバ(175.xx.xxx.xxx)
?/etc/zabbix/zabbix_server.conf
ListenPort=10051
ListenIP=(コメントアウト)
?/var/log/zabbix-server/zabbix_server.log
22700:20110328:003843 Got empty string from [ZABBIX Server] IP [127.0.0.1] Parameter [agent.ping]
22700:20110328:003843 Assuming that agent dropped connection because of access permissions
22700:20110328:003843 Host [ZABBIX Server] will be checked after 60 seconds
22700:20110328:003938 Enabling host [XXXXX_Honban]
■本番サーバ(184.xx.xxx.xxx)
?/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
14519:20110328:003908 zabbix_agentd started. ZABBIX 1.4.6.
14520:20110328:003908 zabbix_agentd collector started
14521:20110328:003908 zabbix_agentd listener started
14522:20110328:003908 zabbix_agentd listener started
14523:20110328:003908 zabbix_agentd listener started
14524:20110328:003908 zabbix_agentd active check started [175.xx.xxx.xxx:10051]
■ブラウザからZABBIXログイン⇒設定⇒ホスト
IPアドレス:184.xx.xxx.xxx
ポート:10050
■ブラウザからElasticfoxログイン⇒SecurityGroups
(監視サーバ、本番サーバ共通)
Group Permissions
FromPort:10050
ToPort:10051
SourceCIDR:0.0.0.0/0