Question:在給zabbix定義監(jiān)控的時(shí)候,zabbix腳本獲取的值與zabbix獲取到的值不一樣廓啊,情況如下所示:
排查方法:
首先將腳本中的wc -l去掉,通過zabbix獲取腳本的輸出:
發(fā)現(xiàn)權(quán)限不夠碴萧,于是更改/etc/passwd文件將zabbix這一行的最后/sbin/nologin改為/bin/bash使得zabbix可以登陸
執(zhí)行su zabbix進(jìn)入zabbix用戶柒昏,執(zhí)行腳本,發(fā)現(xiàn)腳本的返回值和通過zabbix的返回值是一樣的当叭,發(fā)現(xiàn)zabbix沒有權(quán)限使用lsof命令查看特定pid茬故,可是zabbix無法使用sudo命令,于是就需要給zabbix添加執(zhí)行sudo的命令蚁鳖,
退出到root用戶磺芭,執(zhí)行visudo?在root ALL=(ALL) ALL這一行下面添加
zabbix ALL=NOPASSWD: /sbin/lsof賦予zabbix能夠使用sudo lsof的命令
在腳本中的lsof前面添加sudo命令,成功解決
將/etc/passwd文件zabbix這一行再改回原來的/sbin/nologin