Docker部署Zabbix 6.2

一、环境介绍

主机名IP地址系统配置说明
zabbix01192.168.11.51Debian 122核4g 40G磁盘Zabbix Server,数据库,zabbix web都运行在同一台上

修改主机名:

sudo hostnamectl set-hostname zabbix-server

系统版本

环境版本
宿主机系统Debian 12
Docker版本20.10.14
zabbix容器版本自动拉取最新版本
Mysql-server版本8.0.28

二、安装docker

1、添加Docker软件源、安装docker

sudo apt update
#安装组件
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
#添加key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
#添加阿里云的docker源
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
#安装
sudo apt -y install docker-ce docker-ce-cli containerd.io

查看版本

sudo docker version

Client: Docker Engine - Community
 Version:           20.10.16
 API version:       1.41
 Go version:        go1.16.15
 Git commit:        a224086

2、配置163镜像加速

本人写文档时用阿里云的镜像加速,下载latest版本的是zabbix5.4.9。非6.0

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}
EOF

3、把用户添加到docker组

sudo usermod -aG docker user

退出登录,在登录生效。

注意:user为ssh登录用户,这样使用这个用户登录就可以直接管理docker,不需要加sudo

4、应用配置并重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker && sudo systemctl enable docker

三、docker运行单个Zabbix-server

创建专用于 Zabbix 组件容器的网络:

sudo docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net

为永久配置和数据创建目录

sudo mkdir -p /dockerfile/zabbix/mysql8/data

启动空的 MySQL 服务器实例:

注意:数据库zabbix用户的密码为password,root用户密码为123456,请根据实际修改

 sudo docker run --name mysql8-server -t \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="password" \
      -e MYSQL_ROOT_PASSWORD="123456" \
      --network=zabbix-net \
      -v /etc/localtime:/etc/localtime:ro \
      -v /dockerfile/zabbix/mysql8/data:/var/lib/mysql \
      -d mysql:8.0 \
      --character-set-server=utf8mb4 --collation-server=utf8mb4_bin \
      --default-authentication-plugin=mysql_native_password

启动 Zabbix server 实例,并将其关联到已创建的 MySQL server 实例:
为永久配置和数据创建目录

sudo mkdir -p /dockerfile/zabbix/alertscripts

注意:数据库zabbix用户的密码为password,root用户密码为123456,请根据实际修改

sudo docker run --name zabbix-server -t \
      -e DB_SERVER_HOST="mysql8-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="password" \
      -e MYSQL_ROOT_PASSWORD="123456" \
      -v /dockerfile/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
      --network=zabbix-net \
      -v /etc/localtime:/etc/localtime:ro \
      -p 10051:10051 \
      --restart unless-stopped \
      -d zabbix/zabbix-server-mysql:latest

Zabbix server 实例将 10051/TCP 端口(Zabbix trapper)暴露给主机。

  1. 启动 Zabbix Web 界面,并将其关联到已创建的 MySQL server 和 Zabbix server 实例:

注意:数据库zabbix用户的密码为password,root用户密码为123456,Web 访问端口为9090 ,请根据实际修改

sudo docker run --name zabbix-web -t \
      -e ZBX_SERVER_HOST="zabbix-server" \
      -e DB_SERVER_HOST="mysql8-server" \
      -e PHP_TZ="Asia/Shanghai" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="password" \
      -e MYSQL_ROOT_PASSWORD="123456" \
      --network=zabbix-net \
      -v /etc/localtime:/etc/localtime:ro \
      -p 9090:8080 \
      --restart unless-stopped \
      -d zabbix/zabbix-web-nginx-mysql:latest

5.启动 Zabbix agent 界面,并将其关联到已创建的 Zabbix server 实例:

sudo docker run --name zabbix-agent2 -t \
      -e ZBX_SERVER_HOST="zabbix-server" \
      -e ZBX_SERVER_PORT="10051" \
      --network=zabbix-net \
      -v /etc/localtime:/etc/localtime:ro \
      --restart unless-stopped \
      -d zabbix/zabbix-agent2:latest

6.检查

sudo docker logs -f mysql8-server
sudo docker logs -f zabbix-server
sudo docker ps 

没有问题后,浏览器访问Zabbix地址,docker 运行的zabbix不需要在web端初始化,直接访问就ok。

三、解决图形中文乱码

安装中文字体

sudo apt -y install ttf-wqy-microhei

检查docker运行zabbix默认的字体名称.可以看到名为DejaVuSans.ttf,如下命令:

注意:zabbix-web是容器名,根据实际修改

sudo docker exec -it zabbix-web ls /usr/share/zabbix/assets/fonts/
DejaVuSans.ttf

把我们刚刚下载下来的替换容器里zabbix自带的字体

sudo docker cp /usr/share/fonts/truetype/wqy/wqy-microhei.ttc zabbix-web:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf
评论区
头像