今天,遇到一个棘手的问题,在zabbix agent端,执行shell脚本获取java进程的信息,可以取到值,但是,在zabbix server端,执行./zabbix_get的脚本获取值为空。
首先,想到可能是zabbix用户在agent端的权限问题,然后在/etc/sudoers加入了zabbix的sudo权限,但是取到的值还是为空。
之后,想到,可能所执行的脚本中,需要在执行的命令,比如jstat之前加上 sudo 命令,但是取到的值还是为空,这时候我已经不淡定了。
后来,请教了公司的运维大神,可能是 sudo不允许远程执行,需要将 /etc/sudoers中的一行注释就可以了。如下
# Disable "ssh hostname sudo<cmd>", because it will show the password in clear.
# You have to run "ssh -t hostname sudo <cmd>".
#
#Defaults requiretty #这行注释就可以了
转载于:https://blog.51cto.com/hades02/1784608