zabbix Serverとagentとの通信不可
Server
Zabbix 3.0.0
CentOS 7 (バージョン7.3.1611 )
PHP 5.4
MySQL 5.6.37
Apache/2.4.6
host
Zabbix 3.0.0
Amazon Linux AMI release 2017.09
WEB画面のエージェントの状態が赤いままであり、下記エラーが出ております。
Get value from agent failed: cannot connect to [[host IP]:10050]: [4] Interrupted system call
また、host側/zabbix_agentd.logには下記出力です。
27940:20171213:141417.919 **** Enabled features ****
27940:20171213:141417.919 IPv6 support: NO
27940:20171213:141417.919 TLS support: NO
27940:20171213:141417.919 **************************
27940:20171213:141417.919 using configuration file: /usr/local/etc/zabbix_agentd.conf
27940:20171213:141417.919 agent #0 started [main process]
27942:20171213:141417.920 agent #1 started [collector]
27943:20171213:141417.920 agent #2 started [listener #1]
27944:20171213:141417.920 agent #3 started [listener #2]
27945:20171213:141417.920 agent #4 started [listener #3]
27946:20171213:141417.920 agent #5 started [active checks #1]
27946:20171213:141420.920 active check configuration update from [Server IP:10051] started to fail (cannot connect to [[Server IP]:10051]: [4] Interrupted system call)
zabbix_agentd.conf の変更点は下記のみで、あとはデフォルトです。
#PidFile=/tmp/zabbix_agentd.pid
PidFile=/var/run/zabbix/zabbix_agentd.pid
#LogFile=/tmp/zabbix_agentd.log
LogFile=/var/log/zabbix/zabbix_agentd.log
#Server=127.0.0.1
Server=”Server IP”
#ServerActive=127.0.0.1
ServerActive=”Server IP”
#Hostname=Zabbix server
Hostname=<ホストのec2インスタンスID>
FWとSELinuxは停止しています。
AWSのセキュリティグループにはちゃんと登録済みです。
正常に通信出来るための手段を教えてください。
TNK - 投稿数: 4769
ログのメッセージからして、Firewallやセキュリティグループでの
通信が遮断されていると思われます。
FirewallやSELinuxを使用していないのであれば、再度、セキュリ
ティグループの設定を確認してください。
Zabbixで必要としているポート番号での接続を許可していますか?
かもめ - 投稿数: 8
下記確認しました。
Zabbix Server 側のセキュリティグループにHost側のIP/32でTCP 10050-10051で開放。
また、Host側のセキュリティグループはZabbix ServerのIP/32 TCP 10050-10051で開放。
TNK - 投稿数: 4769
インバウンドとアウトバウンドの記載がありませんが、どのように
設定されているのか、もう少し詳細にお教えください。
かもめ - 投稿数: 8
両方ともインバウンドに設定してあります。
アウトバウントはすべてのトラフィック 0.0.0.0/0の状態となります。
かもめ - 投稿数: 8
Agentのversionを上げてみましたが事象回復せずでした。
誰か助けてください…
kng - 投稿数: 30
ServerとServerActiveの値は、ZabbixServerのIPになっていますか?
手元の環境で、Zabbix 以外のIPをセットしてみたところ、同じエラーが出ましたので。。。
ご確認ください。
かもめ - 投稿数: 8
同一の値となっており、Zabbix ServerのIPでした。。。
kng - 投稿数: 30
通信状態の切り分けは、どこまでされてますか?
Zabbix→Agent
telnet agentip 10050
Agent→Zabbix
telnet zabbixip 10051
等は試されましたか?
かもめ - 投稿数: 8
通信が取れていない状態です。
なのでネットワークに問題がある状態だと思っています。
しかし、セキュリティグループの設定は誤っておらず
特定のサーバのみ通信が出来ていない状態です。
幾つかのサーバはagentとの通信が出来ておりデータはserverに取得されています。
TNK - 投稿数: 4769
もしかして、グローバルIPを使用していませんか?
ネットワークの構成がどうなっているのかわかりませんが、同じAZ
ならば、プライベートIPを使用した方がよいかもしれません。
あと、Zabbixの設定ファイル内のListenIPでグローバルIPを指定し
たりしていませんか?
EC2の各インスタンスのプライベートIPを指定するか、デフォルト
のままコメントアウトしておいた方が問題になりにくいです。
かもめ - 投稿数: 8
グローバルIPを使用しています。
異なるAWSアカウントでServerとホストが存在する為です。
AWSアカウントA:Zabbix Server
AWSアカウントB-D:Zabbix Agent搭載のホスト群
上記環境の為、グローバルIPを使用せざるを得ません。
zabbix_server.confのListenIPはコメントアウトしておりました。
TNK - 投稿数: 4769
Zabbix以前に、ネットワーク自体が通信可能な構成になっているか、
ご自身で得意なプロトコルを使用してでも構いませんので、通信で
きる構成であることをまずはご確認ください。
※追記
グローバルIPを使用して、異なるVPC間でZabbixサーバーとZabbix
エージェントが通信でき、監視できることが確認できました。
監視対象のサーバーと同じサブネットのホストを監視できています
か?
kaeru - 投稿数: 264
telnet 対象グローバルIP 10050 で接続出来ないのであれば、
tracerouteであたりを付けてはどうでしょうか。
インターネットに出られているのか、出れていたならどこで弾かれているのか。
かもめ - 投稿数: 8
>TNKさま
Zabbix server ⇔ AWSアカウントA内のホストA´に疎通は取れています。
Zabbix server ⇔ AWSアカウントA内のホストBには疎通が取れません。
セキュリティグループは異なりますが互いのグローバルIPは許可しています。
ホストBにホストA´のセキュリティグループを割り当てても通信不可でした。
AWSアカウント内のホストは同一VPC / サブネットです。
>kaeruさま
ZabbixServer → 外部 〇
ZabbixServer ⇔ AWSアカウントAのホストA´ 〇
ZabbixServer → AWSアカウントAのホストB ×
AWSアカウントAのホストB → ZabbixServer ×
AWSアカウントAのホストB → 外部 〇