首页 > 技术文章 > Zabbix故障处理系列

SyXk 2020-11-17 16:36 原文

1、zabbix-proxy启动状态为activating问题.

解决办法:

在/etc/zabbix/zabbix_proxy.conf中,加入如下:

PidFile = /run/zabbix/zabbix_proxy.pid

重启服务,使配置生效。

[root@syxk ~]# systemctl restart zabbix-proxy

 

2、zbx_tcp_listen() fatal error:unable to serve on any address [[-]:10070]

 

Zabbix服务器未启动侦听器失败:zbx_tcp_listen() 致命错误:无法在任何地址上提供服务

[[-]:10070]

日志错误:

服务状态以及尝试启动时:

进程正在运行:

但是服务仍然停止:

 

原因:

它无法启动,因为它已经在运行(而pid文件以某种方式无法反映出来)。

 

解决办法:杀死pid文件。然后重新启动。

 

最后:可以看到问题已经得到解决。

 

参考文档:

https://www.ringingliberty.com/2015/07/15/zabbix-server-not-starting-listener-failed-zbx_tcp_listen-fatal-error-unable-to-serve-on-any-address-10051/

 

3、zabbix的web页面最新数据显示权限不够。

如下:

参考文档:https://www.cnblogs.com/biaopei/p/7730482.html

 

4、Zabbix在服务器上执行Agent上的脚本时返回Permission denied,在页面上显示该item为"Not Supported"

[root@uat-other zabbix]# zabbix_get -s  IP地址 -p 10050 -k key

sh: 脚本: Permission denied

排查问题:

1、脚本的执行权限、用户组等

2、脚本所在目录的权限,一层层排查

当某个文件或者目录属于某个用户的时候,但是该用户被删除掉之后,会导致文件或目录的用户/用户组显示为原用户在/etc/passwd中的UID

 

5、Cannot create graph: graph with the same name "PORT_LISTEN_STATUS" already exists.

解决办法,后面加上{#TCP_PORT}:

 

6、Value should be a JSON object 

解决办法:vim /etc/sudoers

#Defaults    requiretty  注释掉这个

zabbix  ALL=(ALL)      NOPASSWD: ALL 添加此行

参考文档:https://www.cnblogs.com/wjoyxt/p/7093372.html

 

7、zabbix的图形处获取不到数据。

在zabbix-server-------->zabbix-proxy-------->zabbix-agent环境中。

 

配置是正确的。重启了zabbix-agent.但是在zabbix的web界面上没有获取到数据,或者是数据无法更新。则也需重启zabbix-porxy才行。

比如:今天出现一个问题。我原先只是重启过zabbix-agent。在检测--->最新数据已经获取到数据。但是在Zabbix的web界面的图形这,图形是没有数据的。或者只是部分几台VM的图形能够有数据,其他的几台都没数据。

此时,重启下zabbix-proxy,解决相应问题。

 

 

8、zabbix-proxy与zabbix-server的版本不一致,导致相关问题.

查看zabbix-proxy的日志,如下:

1731:20201027:154049.957 received configuration data from server at "10.0.1.1", datalen 185784

1731:20201027:154049.998 failed to update local proxy configuration copy: invalid field name "items.jmx_endpoint"

 

说明:

我这里版本zabbix-server的版本是4.0.19

而zabbix-proxy的版本是3.0.1

 

问题1:

zabbix-proxy与zabbix-server的版本不一致。Zabbix监控的web页面上zbx也显示为灰色。偶尔可能有部分几个是绿色的,如下:

问题2:

未升级zabbix-proxy时,在zabbix监控页面上会出现监控不到数据的情况。

 

解决办法:升级zabbix-proxy即可。Zabbix-agent无影响。

原因:版本存在兼容性问题:Zabbix 4.0.x 服务器只能使用 Zabbix 4.0.x 代理。Zabbix 4.0.x 代理仅适用于 Zabbix 4.0.x 服务器。

官方详情:https://www.zabbix.com/documentation/4.0/manual/appendix/compatibility

 

9、zabbix报警Lack of free swap space on zabbix

解决办法:

修改表达式
{Template OS Linux:system.swap.size[,pfree].last(0)}<50
修改为
{Template OS Linux:system.swap.size[,pfree].last(0)}<50 and {Template OS Linux:system.swap.size[,free].last(0)}<>0

参考文档:https://idc.wanyunshuju.com/zab/1142.html

 

10、zabbix_get获取的值为0或为空,与单独执行脚本不一致相关问题

排查思路:

1、zabbix agent的配置文件

2、脚本里的变量等是否写绝对路径,脚本执行命令是否有权限

自定义脚本:UserParameter=mysql.ping,mysqladmin(要使用绝对路径,路径按自己的环境而确定.) –u用户名 –p密码 ping 2>/dev/null |grep -c alive

去除上面自定义脚本( |grep -c alive ),验证脚本执行命令mysqladmin是否有权限。如下:

zabbix_get -s xx.xx.xx.xx -k mysql.ping

3、防火墙

4、selinux引起问题。

1) 因slinux而引起sudo权限不够问题

sh: /usr/bin/sudo: 权限不够

2) zabbix_get获取的值与单独执行脚本不一致

 

11、zabbix默认监控负载取值不正确

服务器负载很高(如下图),查看zabbix监控却没有告警(原因:模板Template OS Linux监控取值与实际服务器内负载不一致)

解决办法:

找到 Processor load (1 min average per core)
修改key
把 system.cpu.load[percpu,avg1]  改为  system.cpu.load[all,avg1]
同理修改avg5和avg10即可

说明:percpu监控的是单个cpu的.

 

12、zabbix禁用guest账号

说明:默认 guest账号,密码为空登录,只能看到个别菜单,该guest账号存在意义不大而且有安全隐患,应禁用掉。

禁用 guest 账号 具体操作步骤为:

管理--->用户群组--->找到 guest,对其状态设置为 "停用"

 

 

13、zabbix_agentd出错Could not lock PID file

查看zabbix_agentd.log日志:详情如下:

zabbix_agentd [6539]: Is this process already running? Could not lock PID file [/var/run/zabbix/zabbix_agentd.pid]: [11] Resource temporarily unavailable.

#cat  /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid                    #指定pid路径.

注释掉:PidFile=/var/run/zabbix/zabbix_agentd.pid

重新查看zabbix_agentd.log日志:详情如下:

error:zabbix_agentd [6839]: Is this process already running? Could not lock PID file [/tmp/zabbix_agentd.pid]: [11] Resource temporarily unavailable.

解决办法:

#ln  -s  /tmp/zabbix_agentd.pid   /var/run/zabbix/zabbix_agentd.pid

参考:

https://support.zabbix.com/browse/ZBX-7908?focusedCommentId=102865&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-102865

14、Zabbix agent on {HOST.NAME} is unreachable for 5 minutes的一种现象

我的环境:

zabbix-server  <--- zabbix-proxy <--- zabbix-agent

故障现象:

zabbix平台可以正常采集到数据。zabbix平台(配置->主机(可用性为绿色))。但是zabbix平台-->仪表板显示主机名不可达已超过5分钟。

通过逐一的排查,zabbix-server,zabbix-proxy,zabbix-agent 配置都正确无误。防火墙都有放通相关端口。selinux也已关闭。

最终原因:

zabbix-proxy的服务器时间不同步导致。

附:

https://support.zabbix.com/browse/ZBX-16053

 

推荐阅读