Zabbix是一款流行的开源监控解决方案,使用Docker部署可以简化安装和管理过程。以下是完整的部署指南:
确保已安装: - Docker (版本17.05或更高) - Docker Compose (推荐)
创建docker-compose.yml
文件:
version: '3'
services:
zabbix-server:
image: zabbix/zabbix-server-mysql:latest
container_name: zabbix-server
restart: unless-stopped
ports:
- "10051:10051"
environment:
DB_SERVER_HOST: zabbix-mysql
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbix_pwd
MYSQL_DATABASE: zabbix
depends_on:
- zabbix-mysql
zabbix-mysql:
image: mysql:8.0
container_name: zabbix-mysql
restart: unless-stopped
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbix_pwd
MYSQL_ROOT_PASSWORD: root_pwd
volumes:
- zabbix-mysql-data:/var/lib/mysql
zabbix-web:
image: zabbix/zabbix-web-nginx-mysql:latest
container_name: zabbix-web
restart: unless-stopped
ports:
- "8080:8080"
environment:
DB_SERVER_HOST: zabbix-mysql
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbix_pwd
MYSQL_DATABASE: zabbix
ZBX_SERVER_HOST: zabbix-server
PHP_TZ: "Asia/Shanghai"
depends_on:
- zabbix-server
- zabbix-mysql
volumes:
zabbix-mysql-data:
docker-compose up -d
等待所有容器启动后(约2-3分钟),访问:
http://服务器IP:8080
初始登录凭据: - 用户名: Admin - 密码: zabbix
修改docker-compose.yml
中的以下环境变量:
- MYSQL_PASSWORD
- MYSQL_ROOT_PASSWORD
调整PHP_TZ
环境变量为您所在的时区,例如:
PHP_TZ: "America/New_York"
Docker Compose文件已经配置了MySQL数据的持久化存储。如需备份,可以备份zabbix-mysql-data
卷。
如果不使用Docker Compose,可以分别运行以下命令:
# MySQL数据库
docker run --name zabbix-mysql -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-v zabbix-mysql-data:/var/lib/mysql \
-d mysql:8.0
# Zabbix Server
docker run --name zabbix-server -t \
-e DB_SERVER_HOST="zabbix-mysql" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
--link zabbix-mysql \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:latest
# Zabbix Web界面
docker run --name zabbix-web -t \
-e DB_SERVER_HOST="zabbix-mysql" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e ZBX_SERVER_HOST="zabbix-server" \
-e PHP_TZ="Asia/Shanghai" \
--link zabbix-server \
--link zabbix-mysql \
-p 8080:8080 \
-d zabbix/zabbix-web-nginx-mysql:latest
要升级Zabbix,只需拉取新镜像并重新创建容器:
docker-compose pull
docker-compose up -d
通过以上步骤,您已经成功在Docker环境中部署了Zabbix监控系统。