> 技术文档 > Docker快速部署Zabbix监控系统:从安装到配置的保姆级教程_zabbix docker部署

Docker快速部署Zabbix监控系统:从安装到配置的保姆级教程_zabbix docker部署

目录

为什么选择Zabbix+Docker?

Zabbix docker安装

zabbix_server.conf

中文简体文件添加

编写docker-compose.yml 文件

Agent的docker安装

总结


为什么选择Zabbix+Docker?

Zabbix作为企业级开源监控解决方案,支持多平台监控、告警通知及数据可视化。结合Docker容器化技术,可快速搭建隔离的监控环境,简化部署流程,特别适合开发测试及中小型生产场景。

Zabbix docker安装

创建目录

mkdir -p /data2/zabbix/zabbix-server

mkdir -p /data2/zabbix/alertscripts

mkdir -p /data2/zabbix/fonts

mkdir -p /data2/zabbix/db

zabbix_server.conf

cd /data2/zabbix-server   #进入目录

vi zabbix_server.conf   #创建文件

将下面的代码放入文件wq保存

LogType=consoleDBHost=zabbix-mysqlDBName=zabbixDBUser=zabbixDBPassword=zabbixDBPort=3306User=zabbix

中文简体文件添加

从主机(C:\\Windows\\Fonts)上传一个.ttf的字体文件到/data2/zabbix/fonts目录

可使用rz命令,或者ftp,或远程传输工具(如:xftp)

并将文件名称改成DejaVuSans.ttf(yml文件中有指明)

或者修改yml文件

编写docker-compose.yml 文件

创建一个目录

mkdir /opt/zabbix_docker

创建文件docker-compose.yml

写入:wq保存

services: zabbix-web-nginx-mysql: image: zabbix/zabbix-web-nginx-mysql:centos-5.2-latest restart: always environment: - DB_SERVER_HOST=zabbix-mysql - MYSQL_DATABASE=zabbix - MYSQL_USER=zabbix - MYSQL_PASSWORD=zabbix - MYSQL_ROOT_PASSWORD=root - ZBX_SERVER_HOST=zabbix-server-mysql ports: - 8080:8080 volumes: - /etc/localtime:/etc/localtime -/data2/Zabbix/fonts/DejaVuSans.ttf:/usr/share/zZabbixassets/fonts/DejaVuSans.ttf: networks: - zbx_net depends_on: - zabbix-server-mysql - zabbix-mysql zabbix-mysql: image: mysql:8.0.23 restart: always ports: - 3306:3306 environment: - MYSQL_DATABASE=zabbix - MYSQL_USER=zabbix - MYSQL_PASSWORD=zabbix - MYSQL_ROOT_PASSWORD=root command: - mysqld - --default-authentication-plugin=mysql_native_password - --character-set-server=utf8 - --collation-server=utf8_bin volumes: - /etc/localtime:/etc/localtime - /data2/zabbix/db:/var/lib/mysql networks: - zbx_net zabbix-java-gateway: image: zabbix/zabbix-java-gateway:centos-5.2-latest restart: always volumes: - /etc/localtime:/etc/localtime networks: - zbx_net zabbix-server-mysql: image: zabbix/zabbix-server-mysql:centos-5.2-latest restart: always volumes: - /data2/zabbix/zabbix-server:/etc/zabbix - /data2/zabbix/alertscripts:/usr/lib/zabbix/alertscripts - /etc/localtime:/etc/localtime ports: - 10052:10051 environment: - DB_SERVER_HOST=zabbix-mysql - MYSQL_DATABASE=zabbix - MYSQL_USER=zabbix - MYSQL_PASSWORD=zabbix - MYSQL_ROOT_PASSWORD=root - ZBX_JAVAGATEWAY=zabbix-java-gateway - ZBX_JAVAGATEWAY_ENABLE=true - ZBX_JAVAGATEWAYPORT=10052 depends_on: - zabbix-mysql networks: - zbx_net zabbix-agent: image: zabbix/zabbix-agent:centos-5.2-latest restart: always ports: - 10050:10050 environment: - ZBX_HOSTNAME=Zabbix server - ZBX_SERVER_HOST=zabbix-server-mysql - ZBX_SERVER_PORT=10052 networks: - zbx_netnetworks: zbx_net: driver: bridge

      - /data2/zabbix/fonts/DejaVuSans.ttf:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf#更改ttf文件 

启动docker-compose

docker compose up -d

查看

docker ps

Ip+端口号进入

中文设置

配置主机

这里我们的客户端ip需要在主机里面查看

使用命令

 docker network inspect zabbix-docker_zbx_net

使用agent的ip

接下来刷新网页

完成

Agent的docker安装

修改主机名

hostnamectl hostname zabbix-web

mkdir /opt/zabbix-docker

cd /opt/zabbix-docker

vi /opt/zabbix-docker/docker-compose.yml

写入

services: zabbix-agent: image: zabbix/zabbix-agent:centos-5.2-latest restart: always ports: - 10050:10050 environment: - ZBX_HOSTNAME=zabbix-web - ZBX_SERVER_HOST=10.1.1.12 #链接server地址 - ZBX_SERVER_PORT=10052 - ZBX_ACTIVE_ALLOW=true

      - ZBX_SERVER_HOST=10.1.1.12   #链接server地址

      - ZBX_ACTIVE_ALLOW=true  # true 主动链接  false被动链接

保存退出后

启动容器

Docker compose up -d

进入网页

完成之后刷新网页

配置成功

总结

通过Docker部署Zabbix,实现了:

  • 环境标准化:所有组件配置集中管理,便于迁移和扩展
  • 快速交付:从安装到监控仅需15分钟
  • 资源隔离:各服务独立运行,避免端口冲突

建议定期备份/data2/zabbix/db目录的MySQL数据,并使用docker-compose down优雅停止服务。如需进一步优化,可探索Zabbix的自动注册、自定义监控项等高级功能。