Zabbix 4.2 を Docker Compose でサクッと動かす
概要
Zabbix 4.2 をサクッと動かすには、公式 docker-compose を使うのが簡単早いんですが、やってみると下記問題があったため、対処方法をまとめておきます。
- 日本語表示にするとグラフの日本語部分が豆腐に文字化けする
- GUIで表示される時刻がラトビア時間になっている
- 起動後、Zabbix Server 内 Zabbix Agent との通信ができずエラーになる
- proxy 関連部分のエラーが出続ける
- frontend が apache 版と nginx 版の両方があるが、片方で十分
前提条件
- docker および docker-compose はインストール済み
- Zabbix バージョンは 4.2 で確認
- Zabbix は CentOS + PostgreSQL + NGINX 版を使用
手順
1. git clone 等で公式 docker-compose 一式をローカルに展開
$ git clone https://github.com/zabbix/zabbix-docker.git
1. git clone 等で公式 docker-compose 一式をローカルに展開
$ git clone https://github.com/zabbix/zabbix-docker.git
各種 docker-compose ファイル、各コンテナ向け環境定義ファイル(.env_*
)が必要になります。
2. 日本語表示用 Docker Image 作成のための Docker File を作成
$ cd zabbix-docker
$ vim Dockerfile
FROM zabbix/zabbix-web-nginx-pgsql:centos-4.2-latest
RUN yum -y install ipa-pgothic-fonts && \
cd /usr/share/zabbix/assets/fonts && \
mv DejaVuSans.ttf DejaVuSans.ttf.org && \
ln -s /usr/share/fonts/ipa-pgothic/ipagp.ttf DejaVuSans.ttf
多少乱暴ですが、標準の DejaVuSans.ttf を「IPA Pゴシック」フォントに置き換えてしまいます。
3. Docker-compose ファイルを編集する
不要箇所のコメントアウト、Docker Image 作成など。
version: '3.5'
services:
zabbix-server:
(略)
# ** Zabbix-proxy関連をコメントアウト **
# zabbix-proxy-sqlite3:
# image: zabbix/zabbix-proxy-sqlite3:centos-4.2-latest
(略)
# labels:
# com.zabbix.description: "Zabbix proxy with SQLite3 database support"
# com.zabbix.company: "Zabbix SIA"
# com.zabbix.component: "zabbix-proxy"
# com.zabbix.dbtype: "sqlite3"
# com.zabbix.os: "centos"
#
# zabbix-proxy-mysql:
# image: zabbix/zabbix-proxy-mysql:centos-4.2-latest
(略)
# labels:
# com.zabbix.description: "Zabbix proxy with MySQL database support"
# com.zabbix.company: "Zabbix SIA"
# com.zabbix.component: "zabbix-proxy"
# com.zabbix.dbtype: "mysql"
# com.zabbix.os: "centos"
# ** Apache版フロントエンドをコメントアウト **
# zabbix-web-apache-pgsql:
# image: zabbix/zabbix-web-apache-pgsql:centos-4.2-latest
(略)
# com.zabbix.dbtype: "pgsql"
# com.zabbix.os: "centos"
zabbix-web-nginx-pgsql:
#image: zabbix/zabbix-web-nginx-pgsql:centos-4.2-latest ** コメントアウト **
build: . # ** 専用Dockerfileを使用するため追記 **
ports:
- "80:80" # ** export port を 80 に変更 **
- "443:443" # ** export port を 443 に変更 **
(略)
4. Zabbix時間を日本時間に変更
Web GUI に表示される時間は、デフォルトでは Zabbix 本社があるラトビア時間が使われるので、日本時間に変更します。WEB用環境設定ファイルである .env_web
で設定します。
(略)
# PHP_TZ=Europe/Riga
PHP_TZ=Asia/Tokyo
(略)
5. 起動する
上記で事前準備は完了。起動します。
$ docker-compose -f docker-compose_v3_centos_pgsql_latest.yaml up
6. Zabbix Agent との通信エラーを解消する
GUI アクセスすると、Zabbix Agent との通信がエラーになっているはずです。
原因は、デフォルトでは、Zabbix Server のエージェントのインタフェースが 127.0.0.1
となっていて、別コンテナである Zabbix agent と通信できないためです。1
Docker-compose では DNS で名前解決できるので、以下のように、「DNS名」に「zabbix-agent」と入れ、接続方法を「DNS」にすることで解消できます。
終わり
以上でエラーなく普通に使えるようになりました。
-
Zabbix Server から
127.0.0.1:10050
に通信しようとするが、Zabbix Server コンテナでは:10050
を listen していないため、Connection refused
になる。Zabbix Agent コンテナでは:10050
を listen してるんだけどね。。 ↩
Author And Source
この問題について(Zabbix 4.2 を Docker Compose でサクッと動かす), 我々は、より多くの情報をここで見つけました https://qiita.com/craftone/items/2c75f262b03b54936a94著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .