我在同一台服务器(CentOs 7)上安装了Nagios和NRPE插件。
像check_disk这样的预安装服务工作正常,但我手动安装的插件总是会出现以下错误:
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_cpu -a 20 10
NRPE: Unable to read output
/usr/local/nagios/etc/objects/localhost.cfg:
define service{
use local-service
host_name localhost
service_description CPU
check_command check_cpu!20!10
notifications_enabled 0
}
/usr/local/nagios/etc/objects/commands.cfg
define command {
command_name check_cpu
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_cpu -t 30 -a $ARG1$ $ARG2$
}
/usr/local/nagios/etc/nrpe.cfg
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20 -c 10
command[check_procs]=/usr/local/nagios/libexec/check_procs -w 30 -c 200
command[check_cpu]=/usr/local/nagios/libexec/check_cpu_perf.sh -w $ARG1$ -c $ARG2$
command[check_procs_cron]=/usr/local/nagios/libexec/check_procs -a cron
command[check_mem]=/usr/local/nagios/libexec/check_mem_ng.sh -w $ARG1$ -c $ARG2$
输出messages.log
Nov 29 19:52:03 localhost xinetd[25346]: START: nrpe pid=25575 from=::ffff:127.0.0.1
Nov 29 19:52:03 localhost nrpe[25575]: INFO: SSL/TLS initialized. All network traffic will be encrypted.
Nov 29 19:52:03 localhost xinetd[25346]: EXIT: nrpe status=0 pid=25575 duration=0(sec)
其他信息:
/etc/xinetd.d/nrpe
的输出:
# default: on
# description: NRPE (Nagios Remote Plugin Executor)
service nrpe
{
flags = REUSE
socket_type = stream
port = 5666
wait = no
user = nagios
group = nagios
server = /usr/local/nagios/bin/nrpe
server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd
log_on_failure += USERID
disable = no
only_from = 127.0.0.1
}
netstat -at | grep nrpe
的输出:
tcp 0 0 localhost:51424 localhost:nrpe TIME_WAIT
tcp6 0 0 [::]:nrpe [::]:* LISTEN
有人有提示吗?感谢
答案 0 :(得分:0)
在命令配置文件/usr/local/nagios/etc/objects/commands.cfg
中
而不是 $ USER1 $ 尝试使用绝对路径 - / usr / local / nagios / libexec /
重新启动Nagios服务并检查。
我在你的问题中发现的另一件事是你说“check_disk工作正常,但我的手动安装的插件总是出错”并在你的 /usr/local/nagios/etc/nrpe.cfg file有 check_disk 命令command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20 -c 10
的配置,但没有 check_cpu 命令的配置。因此,当您尝试执行此/usr/local/nagios/libexec/check_nrpe -H localhost -c check_cpu -a 20 10
时,它实际上会查询您的 nrpe.cfg 文件,并找到 no check_cpu命令配置。
只需在nrpe.cfg文件中添加 check_cpu的配置,然后就可以了。