• Zabbix故障处理系列


    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

    作者:岁月星空
    出处:https://www.cnblogs.com/syxk
    ^_^如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,您的“推荐” 将是我最大的写作动力^_^。
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    正则表达式
    mvc3路由设置
    MVC 过滤器
    mvc3之自定义类实现路由配置和URL的生成
    Mvc View
    定义一个底层的泛型
    一个关于字典查找引发的思考——BinarySearch
    Linq学习之旅——Linq to Objects之延期执行方法(上篇)
    Linq学习之旅——Linq to Objects之立即执行方法(下篇)
    Linq学习之旅——Linq to Objects之延期执行方法(下篇)
  • 原文地址:https://www.cnblogs.com/SyXk/p/13995004.html
Copyright © 2020-2023  润新知