公式dockerコンテナを使ってserverを構築する
現在公式の手順でzabbixを立てる方法は三つあります
- ソース(tar.gz)を落としてきて、インストール
- それぞれのOSのdistributionを落としてきて、インストール
- Dockerコンテナから作成
はじめ、ソース(tar.gz)を落としてきて、インストールしてみましたがなかなか苦戦してしまったので、
dockerコンテナで作成してみたところ驚くほど簡単でした。
docker インストール
dockerコンテナを利用するので、当たり前ですがdockerが必要です。
以下の手順通りに作成すれば、大体上手くいきます。
https://docs.docker.com/install/linux/docker-ce/ubuntu/
docker コンテナ作成
mysql serverの作成
docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-d mysql:5.7 \
--character-set-server=utf8 --collation-server=utf8_bin
java gatewayの作成
docker run --name zabbix-java-gateway -t \
-d zabbix/zabbix-java-gateway:alpine-3.4-latest
zabbix serverの作成
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_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--link mysql-server:mysql \
--link zabbix-java-gateway:zabbix-java-gateway \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:alpine-3.4-latest
nginxの作成
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_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 80:80 \
-d zabbix/zabbix-web-nginx-mysql:alpine-3.4-latest
nginxのポートフォワード設定が-p 80:80
になっているので http://docker-ip
でhttp接続してみました
zabbixのログイン画面が表示されました。これは簡単ですね
ちなみに初期パスワードは user:Admin
pass:zabbix
になります。上記の引数のMYSQL_USER
などはMysql上に作成されるユーザなので少し注意が必要
https://www.zabbix.com/documentation/3.4/manual/quickstart/login
docker compose も用意してあるよ
複数のコンテナを作成してあるので、composeが欲しくなるところ。
もちろん用意してあります。
https://github.com/zabbix/zabbix-docker
構築まで五分もかからず完了してしまいました。さくっと試してみたい時はかなりおすすめです