NRPE从命令行工作; 来自Nagios的“不正确的命令行参数”

我试图设置一个基本的例子NRPE作为第一步部署它。 为了简单起见,我在本地运行NRPE和Nagios。 NRPE和Nagios似乎都在工作,但从Nagios使用check_nrpe神秘地失败。 编辑:我使用Nagios的4.1.1版和NRPE的2.15版。

我认为NRPE正在工作,因为我可以手动运行check_nrpe:

/s/l/n/nagios_instance ❯❯❯ libexec/check_nrpe -H 127.0.0.1 -p 5667 -c check_total_procs ⏎ PROCS CRITICAL: 536 processes | procs=536;150;200;0; 

我认为Nagios正在工作(并提供正确的参数),因为我已经在python中写了这个简单的检查,名为check_hello_world.py的文件位于libexec目录中:

 #!/usr/bin/env python import sys print str(sys.argv) raise SystemExit, 2 

我的nagiosconfiguration的相关行如下所示:

 define host { use linux-server host_name yourhost alias My first Apache server address 127.0.0.1 } define command { command_name check_procs_nrpe command_line $USER1$/check_hello_world.py –H "$HOSTADDRESS$" -p 5667 -c "check_total_procs" #command_line $USER1$/check_nrpe –H "$HOSTADDRESS$" -p 5667 -c "check_total_procs" } define service { use generic-service host_name yourhost service_description Check using the hello world plugin check_command check_procs_nrpe } 

正如你所看到的,我使用两个命令之一(简单的python脚本或nrpe命令)来定义check_procs_nrpe命令,以检查从命令行运行的特效。 当我使用python脚本时,在几分钟内,我收到一封带有文本的电子邮件:

 Additional Info: [/spare/local/nagios/nagios_instance/libexec/check_hello_world.py, –H, 127.0.0.1, -p, 5667, -c, check_total_procs] 

这似乎表明,Nagios工作正常,触发警报,发送电子邮件和正确parsing参数。 当我改变命令来使用check_nrpe并重新运行Nagios时,我收到一封带有文本的电子邮件:

 Additional Info: Incorrect command line arguments supplied 

我真的不知道下一步该去哪里。 我没有root权限,因此不能轻松重新configurationrsyslog来获取日志信息。 很高兴根据要求提供更多信息。 有任何想法吗?

总而言之,这个问题竟然是“-H”中的冲刺实际上并不是一个破折号。 这是一个破折号。 你可以在上面的文本中清楚地看到它,如果你寻找它。 不幸的是,源代码Pro(我在我的terminal,因此在vim中使用的字体)没有真正区分破折号和破折号。 我重新打开了一个关于这个问题,同时我正在寻找一个新的字体(并添加破折号分化到我的列表标准)。