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 个命令,它们工作正常。

在我的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中的allowed_hosts.cfg

allowed_hosts=<ip address of nagios server>

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

您好,我通过在配置文件中添加本地地址来解决此问题,以便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]与路由上指示的名称相同非常重要

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

耶尔马尔·埃尔南德斯

您在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
}

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

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

  1. 确保你杀死了所有的旧守护进程,包括任何分叉。
  2. 干净重新启动 NRPE 后,检查/var/log/messages 是否有任何错误?! 特别是诸如"NRPE:错误 - 无法绑定到已在使用的端口/端口"之类的内容。
  3. 您是否确定未使用INETD控制的NRPE?
  4. 如果上述方法没有帮助,请再次执行步骤 1,然后在启动 NRPE 时不要包含"-d"标志并检查输出。

我已经通过将以下行添加到我的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$
嗨,

我得到了这个错误,并且能够解决它:在/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$

但我确定你被信任并设置:表扬.cfg : check_disk 而不是check_slash

看到该行显示" 命令[check_slash]"这是命令.cfg想要得到的。

我遇到了类似的问题,检查系统日志时我可以看到 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 重新启动它

它对我有用。

可能会对某人有所帮助。

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

相关内容

  • 没有找到相关文章

最新更新