在/usr/local/nagios/etc/nrpe.cfg
中,我为已预先定义的命令添加了一个新命令check_this_process
:
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_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/$
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s$
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
command[check_this_process]=/usr/local/nagios/libexec/check_procs -w 15 -c 20 -C name
这有效:
define service{
use generic-service
host_name my_host
service_description CPU Load
check_command check_nrpe!check_load
}
这不是:
define service{
use local-service
host_name my_host
service_description cron
check_command check_nrpe!check_this_process
}
并返回:NRPE: Command 'check_this_process' not defined
答案 0 :(得分:1)
提供的文档中使用的术语有点令人困惑,但我会这样说:
如https://assets.nagios.com/downloads/nagioscore/docs/nrpe/NRPE.pdf第10页所述,您需要修改Nagios服务器上的/usr/local/nagios/etc/commands.cfg
并添加以下内容以定义check_nrpe
命令:< / p>
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
在Nagios服务器上,按照您已经完成的方式定义服务定义:
define service{
use local-service
host_name my_host
service_description cron
check_command check_nrpe!check_this_process
}
在您要监控的远程主机上,根据您是否安装了NRPE,以下内容会有所不同:
如果您使用了tarball / xinetd方法,则您的NRPE配置文件可能位于您要监控的远程主机上的/usr/local/nagios/etc/nrpe.cfg
。 (为了避免一直打字,我只是称之为“my_host”)。
因此,在 my_host 上,修改/usr/local/nagios/etc/nrpe.cfg
。
添加
command[check_this_process]=/usr/local/nagios/libexec/check_procs -w 15 -c 20 -C name
看起来像:
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_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/$
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s$
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
command[check_this_process]=/usr/local/nagios/libexec/check_procs -w 15 -c 20 -C name
(注意:上面假设您有一个名为name
的流程。如果没有,请将name
替换为您的实际流程名称:ie {{1 }})
重新启动xinetd:
crond
(注意:重新启动xinted可能没有必要,但我不使用它,所以我对这个有点模糊。)
但是,如果您使用像yum 这样的包管理器在my_host上安装了NRPE,则您的NRPE配置文件可能位于service xinetd restart
。
因此,在 my_host 上,修改/etc/nagios/nrpe.cfg
。
添加
/etc/nagios/nrpe.cfg
看起来像:
command[check_this_process]=/usr/local/nagios/libexec/check_procs -w 15 -c 20 -C name
重新启动nrpe服务:
服务nrpe重启
返回Nagios服务器,运行Nagios配置设置验证:
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_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/$
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s$
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
command[check_this_process]=/usr/local/nagios/libexec/check_procs -w 15 -c 20 -C name
检查输出是否有错误。 如果没有错误,请重新启动Nagios:
nagios -v /usr/local/nagios/etc/nagios.cfg
在Nagios服务器上安装“ check_nrpe插件”后,您应该安装service nagios restart
实用程序。
请参阅第9页和第10页: https://assets.nagios.com/downloads/nagioscore/docs/nrpe/NRPE.pdf
此check_nrpe
实用程序很可能位于:check_nrpe
使用/usr/local/nagios/libexec/check_nrpe
的主机信息从Nagios服务器手动测试您的NRPE连接 。
执行以下操作:
my_host
如果一切设置正确,您应该在命令行上获得一些输出。
答案 1 :(得分:1)
我的“NRPE:命令......未找到”的故障排除指南。从最常见到最不常见 - 从我的环境中订购。
此清单假定您已经为各种Nagios和NRPE配置做了必要的事情,以使其首先工作。希望其他人会在发布另一个问题之前阅读此内容,了解他们为何会看到此错误。