Zabbixの環境を使って色々な検証したかったので、公式のコンテナ使って、docker-composeで気軽に構築削除できるようにしました。
変数ファイル(.env)
.env
という名前のファイルを準備して docker-compose.yml
と同じディレクトリに置きます。
設定値は適宜変更可能です。 選べるバージョンはこことかを参照。
OS=alpine VERSION=3.0.15 DB_NAME=zabbix DB_USER=zabbix DB_USER_PASSWORD=zabbix DB_ROOT_PASSWORD=zabbix HTTP_PORT=8080 TIME_ZONE=Asia/Tokyo # 0 - basic information about starting and stopping of Zabbix processes; # 1 - critical information # 2 - error information # 3 - warnings # 4 - for debugging (produces lots of information) # 5 - extended debugging (produces even more information) LOG_LEVEL=3
docker-compose.ymlファイル
.env
ファイルで定義した変数を利用する形にしています。
version: "3" services: zabbix_db: image: mysql:5.7 environment: - MYSQL_DATABASE=${DB_NAME} - MYSQL_USER=${DB_USER} - MYSQL_PASSWORD=${DB_USER_PASSWORD} - MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD} zabbix_server: image: zabbix/zabbix-server-mysql:${OS}-${VERSION} environment: - DB_SERVER_HOST=zabbix_db - MYSQL_DATABASE=${DB_NAME} - MYSQL_USER=${DB_USER} - MYSQL_PASSWORD=${DB_USER_PASSWORD} - MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD} - ZBX_DEBUGLEVEL=${LOG_LEVEL} ports: - "10051:10051" links: - zabbix_db zabbix_web: image: zabbix/zabbix-web-apache-mysql:${OS}-${VERSION} environment: - ZBX_SERVER_HOST=zabbix_server - DB_SERVER_HOST=zabbix_db - MYSQL_DATABASE=${DB_NAME} - MYSQL_USER=${DB_USER} - MYSQL_PASSWORD=${DB_USER_PASSWORD} - MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD} - PHP_TZ=${TIME_ZONE} ports: - ${HTTP_PORT}:80 links: - zabbix_server - zabbix_db zabbix_agent: image: zabbix/zabbix-agent:${OS}-${VERSION} privileged: true environment: - ZBX_SERVER_HOST=zabbix_server expose: - "10050" links: - zabbix_server
基本的な使い方
docker-composeのインストールや使い方は他に詳しいブログ沢山あるので適当にググってください。
ここでは最低限必要な部分だけ。
初期構築時のコマンド。-dをつけないとフォアグラウンドで実行されてログが流れます。
docker-compose up -d # ログ確認 docker-compose logs -f
後は上記の設定の場合は HTTP_PORT
を 8080
にしていたので、http://<docker-host>:8080
に繋いで初期ユーザ admin
/ zabbix
でログインできます。
Zabbix Server自身にはAgentがいないので、以下のようにAgentのNICをDNSで zabbix_agent
を見るように変更します。後は有効化して使います。
起動と停止は以下のコマンドです。フォアグラウンドで起動したものをCtrl-Cで落としたり、stopしただけの場合は、DB等のデータが残ります。
docker-compose stop docker-compose start
バージョンを切り替えたい場合など、データ削除したい場合はdbのコンテナを削除してupし直したり、downで全環境削除してupし直します。
docker-compose rm zabbix_db
docker-compose down
参考URL
https://hub.docker.com/u/zabbix/
[https://qiita.com/BSmile/items/f77f2a1dec3ebeca0161]
https://www.zabbix.com/documentation/3.0/manual/installation/containers