记一次docker 离线安装zabbix6.0

本文详细记录了使用Docker部署Zabbix监控系统的步骤,包括下载镜像、保存、加载,以及启动Zabbix的各个组件。重点解决了Zabbix Agent连接Zabbix Server的问题,强调了ZBX_SERVER_HOST配置的重要性,并提供了检查容器IP的方法。最后,文章提到了一个关于Agent通信的已知问题及其解决方案,确保了Zabbix Server与Agent之间的正常通信。
摘要由CSDN通过智能技术生成

官方文档:
https://www.zabbix.com/documentation/current/en/manual/installation/containers
注意一下版本的选择
在这里插入图片描述
docker hub
https://registry.hub.docker.com/r/zabbix/zabbix-agent

下载容器镜像到本地

docker pull mysql:8.0
docker save -o ./mysql80.zip mysql:8.0

docker pull zabbix/zabbix-java-gateway:latest
docker save -o ./zabbix-java-gateway.zip zabbix/zabbix-java-gateway:latest

docker pull zabbix/zabbix-server-mysql:latest
docker save -o ./zabbix-server-mysql.zip zabbix/zabbix-server-mysql:latest

docker pull zabbix/zabbix-web-nginx-mysql
docker save -o ./zabbix-web-nginx-mysql.zip zabbix/zabbix-web-nginx-mysql:latest

docker pull zabbix/zabbix-agent:latest
docker save -o ./zabbix-agent zabbix/zabbix-agent:latest

上传镜像文件到服务器后加载镜像

docker load -i ./mysql80.zip
docker load -i ./zabbix-java-gateway.zip
docker load -i ./zabbix-server-mysql.zip
docker load -i ./zabbix-web-nginx-mysql.zip
docker load -i ./zabbix-agent

按官方文档中的示例1一步一步操作

docker run --name mysql-server -t \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="root_pwd" \
      --network=zabbix-net \
      --privileged=true \
      --restart unless-stopped \
      -d mysql:8.0 \
      --character-set-server=utf8 --collation-server=utf8_bin \
      --default-authentication-plugin=mysql_native_password

docker run --name zabbix-java-gateway -t \
      --network=zabbix-net \
      --restart unless-stopped \
      --privileged=true \
      -d zabbix/zabbix-java-gateway:latest

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 \
      --privileged=true \
      -p 10051:10051 \
      --restart unless-stopped \
      -d zabbix/zabbix-server-mysql:latest

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 \
      --privileged=true \
      -p 8100:8080 \
      --restart unless-stopped \
      -d zabbix/zabbix-web-nginx-mysql:latest

Zabbix-agent

docker run --name some-zabbix-agent \
-e ZBX_SERVER_HOST="172.20.240.2" \
-e ZBX_HOSTNAME="Zabbix server" \
--privileged=true \
--network=zabbix-net \
-d zabbix/zabbix-agent:latest

启动前4个容器后就可以在浏览器中访问zabbix服务
http://linux-ip:8100/
初始账户为Admin/zabbix

不添加agent的话有部分数据采集不到

添加Agent后,采集数据如下图所示
在这里插入图片描述
因为官方文档上没有提docker 启动agent的过程,启动agent折腾了很长时间,总是访问不到zabbix-server后来查了很多文档和一些帖子后,用下面的命令启动成功

docker run --name some-zabbix-agent
-e ZBX_SERVER_HOST=“172.20.240.2”
-e ZBX_HOSTNAME=“Zabbix server”
–privileged=true
–network=zabbix-net
-d zabbix/zabbix-agent:latest

ZBX_SERVER_HOST="172.20.240.2"是zabbix-server-mysql的容器ip地址
使用命令 docker inspect zabbix-server-mysql | grep "IPAddress"可以查到

ZBX_HOSTNAME应该怎么填我最后没找到正规的解释
然后我在一个帖子中看到这个:zabbix-server和zabbix-agent的host应该相同
https://www.zabbix.com/forum/zabbix-help/17298-no-active-checks-on-server-host-not-found
在这里插入图片描述
我在zabbix的configuration中查看server的host name
在这里插入图片描述
然后在启动zabbix-agent容器时添加这个host name,最终agent顺利启动,没有提示找不到host或是无法从ip:10051收到数据

剩下的这个问题我还没有找到解决方法…
Received empty response from Zabbix Agent at [linux ip]. Assuming that agent dropped connection because of access permissions.
在这里插入图片描述
找到方法了,这个问题是agent ip填的不对导致的

使用命令 docker inspect some-zabbix-agent | grep "IPAddress"可以查到
在这里插入图片描述
然后点击关闭然后再打开,server和agent之间的通信就ok了
在这里插入图片描述

其它资料

Zabbix Server参数文件详解

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值