无法连接到这个IP的端口
去服务端
docker exec -it zabxx /bin/bash
zabbix_get -s 172.16.1.8客户端IP -k system.uname 随意的键值用来测试
没出结果,或卡住
就回客户端机子ping 不通
ip a 有IP
iptables -nL 查看防火墙规则 发现空白
回服务端机子 ping 发现可以通
iptables -nL iptables -nL -t nat 发现也没规则
说明服务端通,容器不通,容器是通过共享上网来联网的,所有是防火墙规则问题
重启docker systemctl restart docker 重启后规则会自动添加
排查流程
服务端需要用到 zabbix_get ping telnet tcpdump 命令来排查 主要用zabbix_get
自定义监控报错 zabbix_get加键值测试 网页没有数据的情况
异常情况还需要注意1 awk取列 $$xxx 两个$不然识别错误 2监控secure等日志,需要权限
因为zabbix是普通用户zabbix来运行,对日志文件没有权限,两种办法一,zabbix-agent改为root运行
修改配置文件或子配置文件,修改用户,另一个办法,给zibbix配置sudo权限 zabbix ALL=(ALL)
NOPASSWD:ALL 键值后加sudo来运行命令或脚本。在键值配置文件里修改
3运行时间过长,默认3秒,超过就报错 ,一,修改客户端配置文件 vim /etc/zabbix/zabbix_agent2.conf
Timeout=30修改这个 二,修改服务端配置文件,这个在容器中
cd /app/tools/zbx_server
docker-compose cp zbxxx运行容器名字:/etc/zabbix/zabbix_agent2.conf . 拉取到目录下
修改yml文件后要docker-compose restart 重启一下