在我的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.1
,xxxx
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?
- 确保你杀死了所有的旧守护进程,包括任何分叉。
- 干净重新启动 NRPE 后,检查/var/log/messages 是否有任何错误?! 特别是诸如"NRPE:错误 - 无法绑定到已在使用的端口/端口"之类的内容。
- 您是否确定未使用INETD控制的NRPE?
- 如果上述方法没有帮助,请再次执行步骤 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
;)