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的自动注册、自定义监控项等高级功能。