Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sky-joker/a27b49c8b9d6094215398af14b5ebfbc to your computer and use it in GitHub Desktop.
Save sky-joker/a27b49c8b9d6094215398af14b5ebfbc to your computer and use it in GitHub Desktop.
zabbix4.0のコンテナ環境手動構築手順メモ

こんなZabbix4.0環境をコンテナで作る

baseイメージ作成

[root@localhost common]# docker pull centos:centos7
[root@localhost common]# vi Dockerfile
From centos:centos7
RUN localedef -f UTF-8 -i ja_JP ja_JP.UTF-8
ENV LANG="ja_JP.UTF-8" \
    LANGUAGE="ja_JP:ja" \
    LC_ALL="ja_JP.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
[root@localhost common]# docker build -t centos:jp_base .

zabbix server コンテナ作る

[root@localhost common]# docker run -d -it -p 10051:10051 --name zbx-srv --hostname zbx-srv --privileged centos:jp_base /sbin/init
[root@localhost common]# docker exec -it zbx-srv bash
[root@zbx-srv /]# rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
[root@zbx-srv /]# yum -y install zabbix-server-mysql mysql

zbx web コンテナを作る

[root@localhost common]# docker run -d -it -p 8083:80 --name zbx-web --hostname zbx-web --privileged centos:jp_base /sbin/init
[root@localhost common]# docker exec -it zbx-web bash
[root@zbx-web /]# rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
[root@zbx-web /]# yum -y install zabbix-web-mysql zabbix-web-japanese
[root@zbx-web /]# vi /etc/php.ini
(snip)
;date.timezone =
date.timezone = 'Asia/Tokyo'
(snip)
[root@zbx-web /]# systemctl start httpd
[root@zbx-web /]# systemctl enable httpd

zbx back nw 作る

[root@localhost common]# docker network create zbx-nw

zbx db 作る

[root@localhost common]# docker run -d -it -v /opt:/opt --name zbx-db --hostname zbx-db --network zbx-nw --privileged centos:jp_base /sbin/init
[root@localhost common]# docker exec -it zbx-db bash
[root@zbx-db /]# yum -y install mariadb-server
[root@zbx-db /]# vi /etc/my.cnf
[mysqld]
datadir=/opt/zbxdb
socket=/opt/zbxdb/mysql.sock
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
(snip)
character-set-server=utf8
(snip)
[mysql]
socket=/opt/zbxdb/mysql.sock
default-character-set=utf8
[root@localhost common]# mkdir /opt/zbxdb
[root@zbx-db /]# chown mysql.mysql /opt/zbxdb/
[root@zbx-db /]# systemctl start mariadb
[root@zbx-db /]# systemctl enable mariadb
[root@zbx-db /]# mysql -u root -e 'create database zabbix;'
[root@zbx-db /]# mysql -u root -e 'grant all privileges on zabbix.* to "zabbix"@"localhost" identified by "zabbix";'
[root@zbx-db /]# mysql -u root -e 'grant all privileges on zabbix.* to "zabbix"@"zbx-srv.zbx-nw" identified by "zabbix";'
[root@zbx-db /]# mysql -u root -e 'grant all privileges on zabbix.* to "zabbix"@"zbx-web.zbx-nw" identified by "zabbix";'
[root@zbx-db /]# rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
[root@zbx-db /]# cd /root
[root@zbx-db ~]# yumdownloader zabbix-server-mysql
[root@zbx-db ~]# rpm2cpio zabbix-server-mysql* | cpio -id ./usr/share/doc/zabbix-server-mysql-*/create.sql.gz
[root@zbx-db ~]# zcat usr/share/doc/zabbix-server-mysql-*/create.sql.gz | mysql -u root zabbix
[root@zbx-db ~]# rm -rf /root/usr/ /root/zabbix-server-mysql-*

zbx srv と web を zbx-nw に繋げる

[root@localhost common]# docker network connect zbx-nw zbx-srv
[root@localhost common]# docker network connect zbx-nw zbx-web

zbx サーバ起動

[root@localhost common]# docker exec -it zbx-srv bash
[root@zbx-srv zbx]# vi /etc/zabbix/zabbix_server.conf
(snip)
DBHost=zbx-db
(snip)
DBPassword=zabbix
(snip)
[root@zbx-srv zbx]# systemctl start zabbix-server
[root@zbx-srv zbx]# systemctl enable zabbix-server
  • DBで永続的なDBディレクトリへのバインドをする
  • ポートフォワード設定が抜けてるので追加する
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment