DockerでセットアップしたZabbix ServerからホストにあるZabbix agentの通信設定
CentOS7を使用しています。
DockerでZabbix Serverをセットアップしました。
sudo docker run -d --restart=always -e LANG=ja_JP.UTF-8 --privileged --name zabb
ix -h zabbix -p 80:80 -p 10051:10051 docker.io/centos /sbin/init
セットアップ後、SNMPを使ったスイッチトラフィックなどは監視できています。
サーバホストにZabbix Agentをインストールしました。Dockerをセットアップした同一サーバです。
構成としては以下の通りです。
・ホストサーバ IPアドレス: 192.168.1.130
・Dockerコンテナ(Agent)の内部IPアドレス: 172.17.0.4
ホスト側Agentの/etc/zabbix/zabbix_agentd.confの設定は、
Server=192.168.1.130
としています。
Server側ではホスト側Agentを監視するのに
192.168.1.130 port 10050
の設定を行っています。
しかし、ホストのAgentは監視できなく、
/var/log/zabbix/zabbix_agentd.log では
13935:20170415:153500.521 failed to accept an incoming connection: connection from "172.17.0.4" rejected, allowed hosts: "192.168.1.130"
のエラーが出ています。
どうやらzabbix_agentd.confのServerは許可IPのようですが、この許可IPはdockerを作り直すたびにIPアドレスが変化します。
[container: Zabbix Server] -> 192.168.1.130:port10050 -> [host: Zabbix Agent]
※ Zabbix AgentへのSource IPは192.168.1.130 or 127.0.01
のイメージを持っていましたが、containerのlocal IPのようです。
こちらcontainerを作り直してもServerやzabbix_agentd.confを変えなくてもいいように設定するにはどうしたらいいのでしょうか?
ご存知の方、ご教示お願いします。