1.创建专用于 Zabbix组件容器的网络
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
2.启动zabbix专用Mysql服务器
docker run --name mysql-server
-e MYSQL_DATABASE="zabbix"
-e MYSQL_USER="zabbix"
-e MYSQL_PASSWORD="12345678"
-e MYSQL_ROOT_PASSWORD="12345678"
-v /opt/zabbix_mysql:/var/lib/mysql
--network=zabbix-net
--restart unless-stopped
-d mysql:8.0
--character-set-server=utf8 --collation-server=utf8_bin
--default-authentication-plugin=mysql_native_password
3.启动zabbix java 网关
docker run --name zabbix-java-gateway -t
--network=zabbix-net
--restart unless-stopped
-d zabbix/zabbix-java-gateway:alpine-5.4-latest
4.启动 Zabbix server 实例,并将其关联到已创建的 MySQL 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="12345678"
-e MYSQL_ROOT_PASSWORD="12345678"
-e ZBX_JAVAGATEWAY="zabbix-java-gateway"
--network=zabbix-net
-p 10051:10051
-v /opt/zabbix_server/zabbix_server.conf:/etc/zabbix/zabbix_server.conf
--restart unless-stopped
-d zabbix/zabbix-server-mysql:alpine-5.4-latest
5.启动Zabbix Web界面,并将其关联到已创建的MySQL server和Zabbix server 实例
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="12345678"
-e MYSQL_ROOT_PASSWORD="12345678"
-p 9080:9080
-v /opt/zabbix_nginx/conf:/etc/nginx/http.d/
--network=zabbix-net
--restart unless-stopped
-d zabbix/zabbix-web-nginx-mysql:alpine-5.4-latest
6.问题处理:zabbix server:Zabbix anent is not available
- 查找zabbix-server-mysql的容器IP和网关
docker inspect zabbix-server-mysql | grep IPAddress
docker inspect zabbix-server-mysql | grep Gateway
- 打开zabbix_agentd.conf,Server和ServerActive都修改为zabbix-server-mysql的容器IP
Server=172.17.0.4 #zabbix server的地址
ServerActive=172.17.0.4 #同样是zabbix_server的地址
- 打开zabbix web,把zabbix server的Agent客户端地址修改为:zabbix-server-mysql的容器的网关
7.zabbix_agent安装
rpm -ivhF zabbix-agent.rpm
# 修改配置
vim /etc/zabbix/zabbix_agentd.conf
systemctl start zabbix-agent
systemctl enable zabbix-agent