Nagios NRPE:命令未定义

时间:2012-12-10 04:29:55

标签: nagios nrpe

nrpe_local.cfg添加以下命令:

command[check_mycommand]=/usr/lib/nagios/plugins/check_command 30 35

然后重新启动nrpe守护程序。

当我使用nrpe执行此命令时,我收到以下错误:

NRPE: Command 'check_mycommand' not defined

我使用以下命令执行:

/usr/lib/nagios/plugins/check_nrpe -H hostname -c check_mycommand

我无法得到任何线索。

在我的nrpe_local.cfg中,又添加了10个命令并且它们正常运行。

9 个答案:

答案 0 :(得分:3)

您好我通过在配置文件中添加本地地址来解决此问题,因此nrpe.cfg allowed_host = 127.0.0.1xxxx其中xxxx是我的 nagios服务器的IP 。 您还应该定义命令[check_disk]=/usr/lib/nagios/plugins/check_disk-w 20%-c 10%-p /var

非常重要,命令名称[check_disk]与路径上指示的名称相同

多亏了这一点,我的问题得到了解决,我现在有了很好的监控。

YilmarHernández

答案 1 :(得分:3)

nrpe.cfg中的命令应如下所示:

command[check_mycommand]=/usr/lib/nagios/plugins/check_command -w $ARG1$ -c $ARG2$

然后,您在services.cfg文件(或其名称)中的服务检查应如下所示:

define service{
   servicegroups        Basic Functionality
   host_name            localhost
   service_description  Mycommand
   check_command        check_nrpe!check_mycommand -a '-w 30 -c 35'
   use                  generic-service
}

如果它解决了您的问题,请告诉我。

答案 2 :(得分:2)

  

在我的nrpe_local.cfg中添加了以下命令:>   command[check_mycommand]=/usr/lib/nagios/plugins/check_command 30 35

尝试:

command[check_mycommand]=/usr/lib/nagios/plugins/check_command -w (warningTreshold) -c (criticalTreshold)
/etc/init.d/nagios-nrpe-server restart

确实杀死了已经运行的所有其他nrpe守护进程。 原因可能是它已经由不同的用户运行,这可能会导致冲突。 例如。 nagios-nrpe-server在用户root和用户nagios下运行

还要确保将Nagios服务器的IP地址添加到/etc/nagios/nrpe.cfg中的allowed_hosts:

allowed_hosts=<ip address of nagios server>

否则,您将无法使用Nagios的NRPE执行外部命令。

答案 3 :(得分:1)

您是否使用正确的配置文件启动了NRPE守护程序? (nrpe -c config_file -d) 你在那里使用的配置文件是nagios_local.conf还是nrpe_local.cfg?

答案 4 :(得分:1)

  1. 确保你杀掉所有旧守护进程,包括任何分叉。
  2. 重新启动NRPE后,检查/ var / log / messages是否有错误?!尤其是“NRPE:ERROR - 无法绑定到已使用的端口/端口”。
  3. 你是否肯定没有使用inetd控制的NRPE?
  4. 如果以上情况没有帮助,请再次执行步骤1,然后在启动NRPE时不要包含'-d'标志并检查输出。

答案 5 :(得分:1)

我已通过在nrpe.cfg文件中添加以下行并重新启动nrpe来解决此问题。基本上,我们告诉nagios识别我们正在运行的命令。

command[check_var]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /var
command[check_slash]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_ssh]=/usr/lib64/nagios/plugins/check_ssh $ARG1$

答案 6 :(得分:1)

您好我得到了这个错误并且能够解决它: 在/etc/nagios/nrpe.cfg中你会看到:

command[check_var]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /var
command[check_slash]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_ssh]=/usr/lib64/nagios/plugins/check_ssh $ARG1$

但是我确定你已经被设定了: commend.cfg with:check_disk而不是check_slash

看到这条线说&#34;命令[check_slash]&#34;这就是command.cfg想要得到的。

答案 7 :(得分:0)

我有一个类似的问题并且在syslog中检查我可以看到nrpe在/ var / run /

中有写入问题
Nov  6 08:30:05 xxxxxx nrpe[39777]: Cannot write to pidfile '/var/run/nrpe.pid' - check your privileges.

我在这里找到了:

https://bugs.launchpad.net/ubuntu/+source/nagios-nrpe/+bug/957367

解决方案很简单。只需编辑nrpe.cfg并更改:

pid_file=/var/run/nrpe.pid

pid_file=/var/run/nagios/nrpe.pid

手动杀死nrpe并使用/etc/init.d/nagios-nrpe-server start再次启动它

它对我有用。

答案 8 :(得分:0)

可能会帮助某人。

就我而言,问题出在错字。 我创建了文件/etc/nrpe.d/commands.cgf而不是/etc/nrpe.d/commands.cfg;)