部署zabbix

1、安装docker

1.1、删除旧版本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

1.2、安装仓库

cd /etc/yum.repos.d/
mkdir bak & mv *.repo bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache

1.3、安装docker源

sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

1.4、安装EPEL扩展源

yum list | grep epel-release
yum install -y epel-release
yum clean all
yum makecache

1.5、配置阿里镜像加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://3aq28ghp.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload

1.6、安装docker

yum install -y docker-ce
systemctl start docker
systemctl enable docker

2、部署zabbix

2.1、拉取mysql,并初始化

2.1.1、拉取mysql

docker pull mysql:8.0
docker run -itd --name zabbix-database -p 3306:3306 \
           -e MYSQL_ROOT_PASSWORD=password --security-opt seccomp=unconfined --restart=always mysql:8.0

2.1.2、初始化mysql

[root@zabbix-sw yum.repos.d]# docker exec -it  zabbix-database /bin/bash
root@21e63ef69fb8:/# mysql -ppassword
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.27 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected, 2 warnings (0.01 sec)

mysql> create user 'zabbix'@'localhost' identified WITH mysql_native_password by 'password';
Query OK, 0 rows affected (0.02 sec)

mysql> create user 'zabbix'@'%' identified WITH mysql_native_password by 'password';
Query OK, 0 rows affected (0.01 sec)

mysql>  grant all privileges on zabbix.* to 'zabbix'@'localhost';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql>  grant all privileges on zabbix.* to 'zabbix'@'%';
Query OK, 0 rows affected (0.01 sec)

mysql> set global log_bin_trust_function_creators = 1;
Query OK, 0 rows affected (0.00 sec)

mysql>  FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

2.1.3、下载sql脚本,上传到容器https://www.zabbix.com/cn/download_sources#62

tar -xvf /tmp/zabbix-6.0.6.tar.gz
docker cp /tmp/zabbix-6.0.6.tar.gz/mysql zabbix-database:/tmp
mysql -uzabbix -p zabbix -D zabbix < /tmp/mysql/schema.sql
mysql -uzabbix -p zabbix -D zabbix < /tmp/mysql/images.sql
mysql -uzabbix -p zabbix -D zabbix < /tmp/mysql/data.sql

2.1.4、部署zabbix服务

docker run --name zabbix-server -e DB_SERVER_HOST="172.17.0.2" \
           -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="password" \
           -e ZBX_CACHESIZE="2G" -e ZBX_TRENDCACHESIZE="512M" \
           --restart=always -d zabbix/zabbix-server-mysql:trunk-centos

docker run --name zabbix-server --link zabbix-database -e DB_SERVER_HOST="zabbix-database" \
           -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="password" \
           -e ZBX_CACHESIZE="2G" -e ZBX_TRENDCACHESIZE="512M" \
           --restart=always -d zabbix/zabbix-server-mysql:trunk-centos

2.1.5、部署前端页面

docker run --name zabbix-web -p 8080:8080 \
           --link zabbix-database:zabbix-database \
           --link zabbix-server:zabbix-server \
           -e DB_SERVER_HOST="zabbix-database" \
           -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="password" \
           -e ZBX_SERVER_HOST="zabbix-server" \
           -e PHP_TZ="Asia/Shanghai" \
           --restart=always -d zabbix/zabbix-web-nginx-mysql:trunk-ubuntu

3、访问测试

4、配置中文字体

#宿主机安装字体
yum -y install wqy-microhei-fonts
#复制字体到容器
docker cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc \
          zabbix-web:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf