1.部署mysql8.0
可以根据自己的需求挂载数据,这里我没有挂载
docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="123456" \
--restart unless-stopped \
-d mysql:8.0 \
--character-set-server=utf8 --collation-server=utf8_bin \
--default-authentication-plugin=mysql_native_password
2.部署Zabbix Java gateway
docker run --name zabbix-java-gateway -t \
--restart unless-stopped \
-d zabbix/zabbix-java-gateway:alpine-4.4-latest
3.部署Zabbix服务器
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" \
-e MYSQL_ROOT_PASSWORD="123456" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--link mysql-server:mysql \
--link zabbix-java-gateway:zabbix-java-gateway \
-p 10051:10051 \
--restart unless-stopped \
-d zabbix/zabbix-server-mysql:alpine-4.4-latest
部署过程中遇到了一个问题
170:20210116:035310.923 Zabbix agent item "system.cpu.load[all,avg1]" on host "Zabbix server" failed: first network error, wait for 15 seconds
173:20210116:035325.924 Zabbix agent item "system.cpu.util[,user]" on host "Zabbix server" failed: another network error, wait for 15 seconds
173:20210116:035340.930 Zabbix agent item "vfs.file.contents[/proc/diskstats]" on host "Zabbix server" failed: another network error, wait for 15 seconds
162:20210116:035342.693 item "Zabbix server:zabbix[process,ipmi poller,avg,busy]" became not supported: No "ipmi poller" processes started.
161:20210116:035343.695 item "Zabbix server:zabbix[process,java poller,avg,busy]" became not supported: No "java poller" processes started.
162:20210116:035348.707 item "Zabbix server:zabbix[process,snmp trapper,avg,busy]" became not supported: No "snmp trapper" processes started.
162:20210116:035348.707 item "Zabbix server:zabbix[process,ipmi manager,avg,busy]" became not supported: No "ipmi manager" processes started.
163:20210116:035349.708 item "Zabbix server:zabbix[process,vmware collector,avg,busy]" became not supported: No "vmware collector" processes started.
解决方法:
1.进入容器
docker exec -it -u root zabbix-server-mysql /bin/bash
2./etc/hosts加上一行内容: 127.0.0.1 zabbix-server
3.重启容器,使配置生效
4.部署Zabbix Web界面
端口可以根据自己需求做更改
docker run --name zabbix-web-nginx-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="123456" \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 8080:8080 \
--restart unless-stopped \
-d zabbix/zabbix-web-nginx-mysql:alpine-4.4-latest
5.访问zabbix的web页面
浏览器输入ip:8080
默认用户名:Admin
默认密码:zabbix
部署成功!!!