zabbix自定义监控问题(脚本输出值与zabbix获取值不一致)

Question:在给zabbix定义监控的时候,zabbix脚本获取的值与zabbix获取到的值不一样,情况如下所示:
zabbix自定义监控问题(脚本输出值与zabbix获取值不一致)
文章图片
zabbix自定义监控问题(脚本输出值与zabbix获取值不一致)
文章图片
【zabbix自定义监控问题(脚本输出值与zabbix获取值不一致)】排查方法:

首先将脚本中的wc -l去掉,通过zabbix获取脚本的输出:
zabbix自定义监控问题(脚本输出值与zabbix获取值不一致)
文章图片
发现权限不够,于是更改/etc/passwd文件将zabbix这一行的最后/sbin/nologin改为/bin/bash使得zabbix可以登陆
执行su zabbix进入zabbix用户,执行脚本,发现脚本的返回值和通过zabbix的返回值是一样的,发现zabbix没有权限使用lsof命令查看特定pid,可是zabbix无法使用sudo命令,于是就需要给zabbix添加执行sudo的命令,
退出到root用户,执行visudo 在root ALL=(ALL) ALL这一行下面添加
zabbix ALL=NOPASSWD: /sbin/lsof赋予zabbix能够使用sudo lsof的命令
在脚本中的lsof前面添加sudo命令,成功解决

将/etc/passwd文件zabbix这一行再改回原来的/sbin/nologin

    推荐阅读