zabbix_get执行的脚本中含有netstat -lantup命令报错,原因是-p参数需要root用户才能使用

zabbix_get执行脚本时报错:

(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.

解决该问题的办法有两种:

  1. 通过配置vi /etc/sudoers

    Cmnd_Alias MONITORING = /bin/netstat,/sbin/sudo  
    %monitor        ALL=(root) NOPASSWD:MONITORING

    然后在修改userparameter_script.conf文件,利用sudo执行脚本即可

  2. 通过在执行的脚本中执行chmod +s /bin/netstat 解决

    chmod +s 的意思是
    为了方便普通用户执行一些特权命令,SUID/SGID程序允许普通用户以root身份暂时执行该程序,并在执行结束后再恢复身份