我在CentOS上安装Nagios来监控某些服务器,其中一台是TSM服务器。
当我在命令行中执行它时,我下载了一个用bash编写的插件。
/usr/lib64/nagios/plugins/check_tsm db -v6
db - database utilization 42%, OK
并且批处理脚本的返回码为0(来自命令echo $?
)
所以脚本工作正常,并返回0表示nagios中的OK状态,但状态仍然未知,我真的不知道为什么。
我检查nagios等中的日志。这不是命令定义在commands.cfg或服务声明中的问题,因为我复制了nagios每5分钟自动发送的命令,命令在命令行中正常工作,但仍然是未知状态。
命令的定义:
定义命令{
command_name check_tsm_v6
command_line /usr/lib64/nagios/plugins/check_tsm $ARG1$ -v6 $ARG2$ $ARG3$
}
服务声明:
定义服务{
use generic-service
host_name tsm-test
service_description database utilization
check_command check_tsm_v6!db!85!90
}
和here's bash脚本。
答案 0 :(得分:0)
过去使用Nagios脚本抓住我的一件事是用户权限。在命令行上直接测试脚本时,请确保在其前面加上:
sudo -u nagios
所以你的意思是:
sudo -u nagios /usr/lib64/nagios/plugins/check_tsm db -v6
这假设您的nagios实例正由nagios用户运行,这是一个相当安全的选择。
祝你好运布拉德
答案 1 :(得分:0)
尝试使用yum install sysstat -y命令下载软件包。
如果成功,那就太好了。如果您仍然面对同样的问题,请上传浏览器中显示的完整错误?