自定义nagios插件无法读取输出
Custom nagios plugin can't read output
我已经使用 nagios 创建了一个简单的插件 运行 与 NRPE 并且它 运行 在命令行中很好但是当我通过 nrpe 运行 它时,它说"NRPE: can't read the output"
这与无法读取文件有关,因为如果我只是回显一个固定的字符串,它就可以正常工作。我确定权限是 644.
有人知道发生了什么事吗?
这是我使用的调用:
/usr/lib64/nagios/plugins/check_nrpe -H 192.168.1.10 -p 5666 -c local_check
这是nrpe.conf
中的配置命令
command[local_check]=/usrl/lib64/nagios/plugins/local_check
这是插件的代码(经过简化,我显然有更多的检查来创建状态文件):
#!/usr/bin/bash
HOST="127.0.0.1"
CACHE_FILE="/tmp/local_check"
echo "0">$CACHE_FILE
echo "This is the status code I want">>$CACHE_FILE
ret_code=$(/usr/bin/cat $CACHE_FILE|/usr/bin/sed -n 1p)
status=$(/usr/bin/cat $CACHE_FILE|/usr/bin/sed -n 2p )
/usr/bin/cat $CACHE_FILE|/usr/bin/sed -n 2p
exit $ret_code
我禁用了 SELinux 并重新启动了系统。之后,它工作了,所以这是一个 SELinux 问题。其他可能出现的问题是在防火墙中打开 tcp 端口 5666,缺少库(首先来自命令行的 运行 插件),如果它是一个 root 操作不能被 nagios 插件 运行 , 你也需要考虑一下
我已经使用 nagios 创建了一个简单的插件 运行 与 NRPE 并且它 运行 在命令行中很好但是当我通过 nrpe 运行 它时,它说"NRPE: can't read the output"
这与无法读取文件有关,因为如果我只是回显一个固定的字符串,它就可以正常工作。我确定权限是 644.
有人知道发生了什么事吗?
这是我使用的调用:
/usr/lib64/nagios/plugins/check_nrpe -H 192.168.1.10 -p 5666 -c local_check
这是nrpe.conf
中的配置命令command[local_check]=/usrl/lib64/nagios/plugins/local_check
这是插件的代码(经过简化,我显然有更多的检查来创建状态文件):
#!/usr/bin/bash
HOST="127.0.0.1"
CACHE_FILE="/tmp/local_check"
echo "0">$CACHE_FILE
echo "This is the status code I want">>$CACHE_FILE
ret_code=$(/usr/bin/cat $CACHE_FILE|/usr/bin/sed -n 1p)
status=$(/usr/bin/cat $CACHE_FILE|/usr/bin/sed -n 2p )
/usr/bin/cat $CACHE_FILE|/usr/bin/sed -n 2p
exit $ret_code
我禁用了 SELinux 并重新启动了系统。之后,它工作了,所以这是一个 SELinux 问题。其他可能出现的问题是在防火墙中打开 tcp 端口 5666,缺少库(首先来自命令行的 运行 插件),如果它是一个 root 操作不能被 nagios 插件 运行 , 你也需要考虑一下