部署zabbix
1、安装docker
1.1、删除旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine1.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.repo1.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-reload1.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.02.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-centos2.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-ubuntu3、访问测试

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