
Zabbix 为每个 Zabbix 组件提供 Docker image 作为可移植和自给自足的容器,以加快部署和更新过程。
Zabbix 组件支持 MySQL 和 PostgreSQL 数据库、Apache2 和 Nginx Web 服务器集合。
容器化的部署环境,提高了系统的健壮性,以及维护的便利性。

配置实例采用nginx及mysql实现zabbix容器化部署主要有如下几个步骤,除了安装数据库之外,其他三个容器中安装的内容与包安装基本类似。
因为在github上有实时更新的镜像包,所以可以通过docker search 查找
docker pull 下载
步骤一:部署mysql容器,类似包安装中的本地数据库
步骤二:部署zabbix-java-gateway容器,监控java应用的各项性能
步骤三:部署zabbix-server-mysql 容器,类似包安装中的server服务器
步骤四:部署abbix-web-nginx-mysql容器,实际上的nginx服务器

docker network create --subnet 192.168.65.0/24 --ip-range 192.168.65.0/24 zabbix-net

通过docker命令创建zabbix专用网络zabbi-net,用于相关容器之间的网络通信。本次实验采用192段网络地址,实际地址可以根据环境调整。

环境中所有的镜像都是已经下载好的,直接创建实例即可
启动mysql实例
docker run --name mysql-serve2r -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
--network=zabbix-net \
-d mysql:8.0 \
--restart unless-stopped \
--character-set-server=utf8 --collation-server=utf8_bin \
--default-authentication-plugin=mysql_native_password
启动java-gateway
docker run --name zabbix-java-gateway -t \
--network=zabbix-net \
--restart unless-stopped \
-d zabbix/zabbix-java-gateway:alpine-6.2-latest
启动server
docker run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--network=zabbix-net \
-p 10051:10051 \
--restart unless-stopped \
-d zabbix/zabbix-server-mysql:alpine-6.2-latest
启动web
docker run --name zabbix-web-nginx-mysql -t \
-e ZBX_SERVER_HOST="zabbix-server-mysql" \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
--network=zabbix-net \
-p 80:8080 \
--restart unless-stopped \
-d zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest
确认实例正常运行如下:

最终完成安装
长
按
关
注
技术梦想家
ID : technology_dreamer
一起探索科技的宇宙.....
