自定义nagios插件无法读取输出

时间:2015-05-20 15:58:39

标签: bash plugins monitoring nagios nrpe

我创建了一个简单的插件,使用nagios与NRPE一起运行,它在命令行中运行良好但是当我通过nrpe运行它时,它说“NRPE:无法读取输出”

这与无法读取文件有关,因为如果我只是回显一个固定的字符串,它可以正常工作。我确保权限是644。

任何人都知道发生了什么事?

以下是我使用的调用:

/usr/lib64/nagios/plugins/check_nrpe -H 192.168.1.10 -p 5666 -c local_check

这是nrpe.conf中的config命令

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

1 个答案:

答案 0 :(得分:0)

我禁用了SELinux并重新启动了系统。之后,它工作,所以这是一个SELinux问题。可能出现的其他问题是在防火墙中打开tcp端口5666,缺少库(首先从命令行运行插件),如果它是nagios插件无法运行的仅root操作,则还需要考虑它