Dockerで動かしているZabbixサーバに、Dockerサーバのエージェントを登録したい

Last-modified: Sat, 13 Jan 2018 19:29:34 JST (216d)

Dockerの公式イメージをつかって、Zabbixサーバを運用しているのですが、
そのDockerをホストしているDockerサーバ自身を監視したいと思いましたが、
以外にハマったのでメモ。
なお、abbix Docker Monitoringだと各コンテナの状況はわかるのですが、ホストの状態はわかりませんし、
docker-composeで何故か自動起動しなかったり微妙に使い勝手が悪かったです。

ここでは、DockerサーバのIPを192.168.1.10とします。
Dockerサーバ以外からは、Dockerのiptablesによって、NAT変換されるので、
192.168.1.10へ接続すれば問題ありません。
しかし、Dockerホスト自身からはそうはいきません。
たとえば、

vi /etc/zabbix/zabbix_agentd.conf

Server=192.168.1.10
ServerActive=192.168.1.10

としても、

failed to accept an incoming connection: connection from "172.18.0.10" rejected, allowed hosts: "192.168.1.10"

と蹴られてしまいます。

これはつまり、172.18.0.10から接続があったけど、設定は192.168.1.10だから駄目だぜ。
と言われているので、

Server=172.18.0.10
ServerActive=172.18.0.10

とします。
また、ZabbixServerへのホスト登録は、

  • 192.168.1.10
  • 172.18.0.10
    の両方を登録しないとエージェントが発見されませんでした。

本当はDocker上のZabbixサーバのIPを固定にする方が良いのでしょうが、めったに再起動することはないのでその時気を付けるという事で固定にはしませんでした。


Counter: 230, today: 1, yesterday: 0

このページの参照回数は、230です。