Dockerで Zabbixサーバ環境を構築したメモ。
ほぼ、意外と知られていないzabbix公式コンテナイメージ - Qiita この情報ですが、zabbix-java-gateway が抜けてるっぽいので追加してます。
# docker run --name mysql-server -t \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix" \ -e MYSQL_ROOT_PASSWORD="zabbix" \ -d mysql:5.7
# docker run --name zabbix-java-gateway -d zabbix/zabbix-java-gateway:latest
# docker run --name zabbix-server-mysql -t \ -e DB_SERVER_HOST="mysql-server" \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix" \ -e MYSQL_ROOT_PASSWORD="zabbix" \ --link mysql-server:mysql \ --link zabbix-java-gateway:zabbix-java-gateway \ -p 10051:10051 \ -d zabbix/zabbix-server-mysql:latest
# docker run --name zabbix-web-nginx-mysql -t \ -e DB_SERVER_HOST="mysql-server" \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix" \ -e MYSQL_ROOT_PASSWORD="zabbix" \ -e ZBX_SERVER_HOST="zabbix-server" \ -e PHP_TZ="Asia/Tokyo" \ --link mysql-server:mysql \ --link zabbix-server-mysql:zabbix-server \ -p 80:80 \ -d zabbix/zabbix-web-nginx-mysql:latest
で、http://[DockerのIP]/ にブラウザでアクセスすればOK。
最後にエージェント
docker run --name zabbix-agent \ --link zabbix-server-mysql:zabbix-server \ -d zabbix/zabbix-agent:latest
ところでこのエージェントは、このDockerサーバ自体を監視したいので入れてるわけですが、このエージェントは個別にIPを持ってて、127.0.0.1:10050じゃ繋がらないorz。
# docker exec -it [Container ID] /bin/bash bash-4.3# ifconfig
で IPしらべて、WEB画面のIPアドレス設定を変更しないとダメ?
もしくは、直接DockerサーバにAgentをインストールします。手順は Zabbix/Zabbix Agentをセットアップする こちら。。Zabbix Serverが Docker上のネットワークで起動している事を注意しながら、つまりDockerの動いてるOS上で
# ifconfig docker0 Link encap:Ethernet HWaddr 02:42:58:f8:3a:90 inet addr:172.17.0.1 Bcast:172.17.255.255 Mask:255.255.0.0
を確認しつつ
# cat /etc/zabbix/zabbix_agentd.conf Server=127.0.0.1,172.17.0.0/16 ← Dockerのネットを指定 ダメだった場合は、 Server=127.0.0.1,172.17.0.4 などDockerのZabbix-ServerのIP ServerActive=127.0.0.1 ListenIP=0.0.0.0 Hostname=Zabbix server
としておきましょう。WEBの設定も127.0.0.1:10050でなく、Dockerサーバ自体のIP(たぶん eth0 の) にしておくのが正しい、、かな???
この記事は
現在のアクセス:5479