在配置zabbix server连接本机agent时报错:
Get value from agent failed: cannot connect to[[xxx.xxx.xxx.xxx]:10050]: [111] Connection refused
- 检查10050端口是否开放,以下三种方式都可以查看端口是否开放。
1.nc -zv <服务器IP> <端口号>
2.telnet <服务器IP> <端口号>
3.netstat -tuln #查看被监听的端口
如果端口开放且可访问,会看到一条成功的提示信息;如果端口未开放或无法访问,则会出现连接失败的提示。
出现以下信息表示端口没有开放
- 如果没有开放端口,可添加临时监听的端口,临时添加的端口重启服务器后将会停止
1.nc -l 10050
2.netstat -tuln # 查看端口是否添加成功
# 如果不指定IP地址,则默认会监听所有可用的网络接口,这时候使用的是特殊的IP地址 0.0.0.0
# 如果你想要指定监听的IP地址,可以在 nc 命令后面加上要监听的IP地址和端口号,例如:
# nc -l 192.168.1.100 10050
#sudo fuser -k 10050/tcp #终止监听端口
以下表示端口开放:
- 但是这时候又出现新的报错问题
Get value from agent failed: ZBX_TCP_READ() failed: [104] Connection
reset by peer
先查看zabbix_agent2.conf的配置信息是否有错
1. cd /etc/zabbix
2. vim zabbix_agent2.conf
3.
Server = zabbix server ip地址
ServerActive = zabbix server ip地址
Hostname = 自定义名称,要与zabbix配置连接时的主机名称保持一致
4. 配置完后退出,重新启动服务:systemctl restart zabbix-agent2
但是还是无法连接,依旧报错
Get value from agent failed: ZBX_TCP_READ() failed: [104] Connection
reset by peer
- 查看zabbix-agent2的日志。
1. cd /var/log/zabbix
2. vim zabbix_agent2.log
报错信息如下:
把以上两个IP地址都加入到zabix_agent2.conf中
Server = ip地址1,ip地址2
ServerActive = ip地址1,ip地址2
Hostname = 自定义名称,要与zabbix配置连接时的主机名称保持一致
然后重启服务systemctl restart zabbix-agent2,问题解决。
在运行过程中报错
Zabbix server: More than 95% used in the value cache
这个警告通常表示 Zabbix 服务器的值缓存使用率超过了95%,这可能是由于以下原因导致的:
1.值缓存被频繁访问:Zabbix 服务器的值缓存用于存储从监控主机收集的数据值。如果监控项非常频繁地更新,值缓存可能会被快速填满。
2.监控项数量过多:如果监控的主机和监控项非常多,值缓存需要存储大量数据,导致使用率升高。
3.缓存设置不当:可能是缓存配置参数设置不合理,导致缓存占用过高。
可以尝试以下方法:
1.增加缓存大小:可以尝试增加 Zabbix 服务器的值缓存大小,以容纳更多的数据。
2.优化监控项:检查监控项的更新频率,确保不需要那么频繁更新的监控项可以适当调整更新频率。
3.优化监控配置:审查监控配置,删除不必要或过度频繁的监控项,以减少值缓存的压力。
4.调整缓存参数:调整 Zabbix 服务器的缓存参数,如缓存大小、缓存清理策略等,以更好地管理值缓存。
下面我们介绍如何增加缓存大小:
- 进入zabbix-server-mysql容器:
docker exec -it zabbix-server-mysql bash
- 找到zabbix_server.conf配置文件,修改CacheSize缓存大小,默认是32M
1.cd /etc/zabbix #一般是存放在这个路径下
# 如果找不到文件,使用命令find / -name zabbix_server.conf查找
2.vi zabbix_server.conf #进入文件进行修改
# 按i键进入插入模式,将CacheSize增大为64M
# 然后按Esc退出插入模式,再按:wq保存退出
# 如果找不到CacheSize的位置,可以通过命令查看在哪一行:grep -n 'CacheSize' /etc/zabbix/zabbix_server.conf
查看CacheSize在哪一行
3. 重启zabbix-server容器,报错解决
docker restart zabbix-server-mysql