本页导航
article
zabbix部署
AI摘要
本文介绍了使用Docker Compose部署Zabbix监控系统的主要步骤。核心操作包括:编写docker-compose.yaml和.env配置文件,并修改Zabbix Agent配置文件中的Server、ServerActive和Hostname参数,将其指向服务器IP地址。文中还提供了使用vi编辑器快速查找和修改配置项的小技巧。
编写docker-compose.yaml文件
version: '3'
services:
# DB
mysql:
image: mysql:8.0
container_name: mysql
volumes:
- ${DEPLOY_PATH}/data:/var/lib/mysql
- ${DEPLOY_PATH}/mysql/conf:/etc/mysql/conf.d
- ${DEPLOY_PATH}/mysql/logs:/var/log/mysql
- /etc/localtime:/etc/localtime:ro
restart: always
privileged: true
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- TZ=Asia/Shanghai
- LANG=en_US.UTF-8
ports:
- "3306:3306"
# Gateway
zabbix-gateway:
image: zabbix/zabbix-java-gateway:6.0-centos-latest
container_name: zabbix-gateway
volumes:
- /etc/localtime:/etc/localtime:ro
restart: always
privileged: true
ports:
- "10052:10052"
# Server
zabbix-server:
image: zabbix/zabbix-server-mysql:6.0-centos-latest
container_name: zabbix-server
volumes:
- /etc/localtime:/etc/localtime:ro
- ${DEPLOY_PATH}/snmptraps:/var/lib/zabbix/snmptraps
- ${DEPLOY_PATH}/mibs:/var/lib/zabbix/mibs
- ${DEPLOY_PATH}/alertscripts:/usr/lib/zabbix/alertscripts
- ${DEPLOY_PATH}/externalscripts:/usr/lib/zabbix/externalscripts
restart: always
privileged: true
environment:
- ZBX_LISTENPORT=10051
- DB_SERVER_HOST=mysql
- DB_SERVER_PORT=3306
- MYSQL_DATABASE=zabbix
- MYSQL_USER=root
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_ROOT_PASSWORD=zabbix
- ZBX_CACHESIZE=256M
- ZBX_HISTORYCACHESIZE=256M
- ZBX_HISTORYINDEXCACHESIZE=16M
- ZBX_TRENDCACHESIZE=128M
- ZBX_VALUECACHESIZE=128M
- ZBX_STARTPINGERS=64
- ZBX_IPMIPOLLERS=1
- ZBX_ENABLE_SNMP_TRAPS=true
- ZBX_STARTTRAPPERS=1
- ZBX_JAVAGATEWAY_ENABLE=true
- ZBX_JAVAGATEWAY=zabbix-gateway
- ZBX_STARTJAVAPOLLERS=1
ports:
- "10051:10051"
links:
- mysql
- zabbix-gateway
# WEB
zabbix-web:
image: zabbix/zabbix-web-nginx-mysql:6.0-centos-latest
container_name: zabbix-web
volumes:
- ${DEPLOY_PATH}/font/simfang.ttf:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf
- /etc/localtime:/etc/localtime
restart: always
privileged: true
environment:
- ZBX_SERVER_NAME=Zabbix 6.0
- ZBX_SERVER_HOST=zabbix-server
- ZBX_SERVER_PORT=10051
- DB_SERVER_HOST=mysql
- DB_SERVER_PORT=3306
- MYSQL_DATABASE=zabbix
- MYSQL_USER=root
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- PHP_TZ=Asia/Shanghai
ports:
- "8081:8080"
links:
- mysql
- zabbix-server
zabbix-agent:
image: zabbix/zabbix-agent
container_name: zabbix-agent
volumes:
- /etc/localtime:/etc/localtime:ro
- ${DEPLOY_PATH}/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro
- ${DEPLOY_PATH}/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro
- ${DEPLOY_PATH}/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro
- ${DEPLOY_PATH}/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro
tmpfs: /tmp
restart: always
privileged: true
ports:
- "10050:10050"
pid: "host"
stop_grace_period: 5s
environment:
- ZBX_SERVER_HOST=${Server}
- ZBX_SERVER_PORT=10051
- ZBX_HOSTNAME=${Server}
编写.env文件
DEPLOY_PATH='' //部署路径
MYSQL_ROOT_PASSWORD='' //数据库密码
MYSQL_PASSWORD='' //数据库管理员密码
Server='' //服务器IP
修改配置文件Sever, SeverActive, Hostname为服务器IP
vi /etc/zabbix_agentd.conf
::: note 提示
vi进入编辑后可以使用/Sever(/关键字)回车进行全文查找,按n查找下一个
:::
最后更新于 2026-02-18 18:15