一、准备工作
1. 系统环境:确保你的系统已经安装了Docker。如果尚未安装,请先按照Docker的官方文档进行安装和配置。
2. 网络配置:为了方便容器间的通信,可以创建一个Docker网络。
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
二、安装MySQL数据库
Zabbix的server端需要使用MySQL数据库来存储监控数据和配置信息。
1. 拉取MySQL镜像
docker pull mysql:8.4.0 # 或者选择其他适合的版本
2. 创建存储卷为了持久化MySQL的数据,可以创建存储卷来存储数据库文件、日志和配置文件。
docker volume create -d local mysql_data
docker volume create -d local mysql_logs
docker volume create -d local mysql_conf
3. 启动MySQL容器
docker run --name mysql-server -t \
-v mysql_data:/var/lib/mysql \
-v mysql_logs:/var/log/mysql \
-v mysql_conf:/etc/mysql \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="your_password" \
-e MYSQL_ROOT_PASSWORD="your_root_password" \
--restart=unless-stopped \
-d mysql:8.4.0 \
--character-set-server=utf8 --collation-server=utf8_bin \
--network=zabbix-net
三、安装Zabbix Java Gateway
Zabbix Java Gateway用于监控Java程序的JVM状态。
1. 拉取Zabbix Java Gateway镜像
docker pull zabbix/zabbix-java-gateway:alpine-6.2-latest # 或者选择其他适合的版本
2. 启动Zabbix Java Gateway容器
【bash】
docker run --name zabbix-java-gateway -t \
--restart=unless-stopped \
-d zabbix/zabbix-java-gateway:alpine-6.2-latest \
--network=zabbix-net
四、安装Zabbix Server
Zabbix Server负责接收agent发送过来的监控数据,并提供Zabbix的所有核心功能。
1. 拉取Zabbix Server镜像
docker pull zabbix/zabbix-server-mysql:6.2-alpine-latest # 或者选择其他适合的版本
2. 创建存储卷为了存储Zabbix Server的配置文件,可以创建一个存储卷。
docker volume create -d local zabbix_server
3. 启动Zabbix Server容器
docker run --name zabbix-server-mysql -t \
-v zabbix_server:/etc/zabbix \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="your_password" \
-e MYSQL_ROOT_PASSWORD="your_root_password" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--link mysql-server:mysql-server \
--link zabbix-java-gateway:zabbix-java-gateway \
--restart=unless-stopped \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:6.2-alpine-latest \
--network=zabbix-net
五、安装Zabbix Web界面
Zabbix Web界面提供操作控制台和监控展示等功能。
1. 拉取Zabbix Web镜像
【bash】
docker pull zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest # 或者选择其他适合的版本