我使用Nagios监视多个主机。 当我使用在监视主机上执行的“正常”检查(比如check_http )时,这工作正常。 但是,我在使用基于NRPE的检查时遇到了麻烦,而检查是通过监视主机上的NRPE服务执行的。
我已经在受监控的主机的NRPEconfiguration中声明了我的自定义命令,例如
command[check_memory]=/usr/lib/nagios/plugins/check_memory -w 20% -c 10% -u G
然后,我在监控主机的Nagiosconfiguration中创build了相应的Nagios命令:
define command { command_name my_check_nrpe command_line /usr/lib/nagios/plugins/check_nrpe -H '$HOSTALIAS$' -c '$ARG1$' } define service { use my-service service_description Free memory check_command my_check_nrpe!check_memory check_interval 15 }
当我在监视主机上使用nagios用户(运行nagios服务)手动运行它们时,这些检查工作正常:
nagios@monitor:~$ /usr/lib/nagios/plugins/check_nrpe -H 'my.target.host' -c 'check_memory' MEMORY OK - 0G free | free=956080128b;419844915.2:;209922457.6:
不过,我不断收到Nagios发来的关于服务的电子邮件警告:
***** Nagios ***** Notification Type: PROBLEM Service: Free memory Host: my.target.host Address: XXX.XXX.XXX.XXX State: WARNING Date/Time: $ Additional Info: $
我没有设法得到关于警告的更多细节。 监控主机上的Nagios日志只显示警告已发送:
[1500623961] SERVICE NOTIFICATION: my-mailbox;my.target.host;Free memory;WARNING;notify-by-email;(null) [1500627561] SERVICE NOTIFICATION: my-mailbox;my.target.host;Free memory;WARNING;notify-by-email;(null)
我也为Nagios激活了最大的debugging输出:
debug_level=-1 debug_verbosity=2
但是,/ /var/lib/nagios3/nagios.debug不包含任何有趣的内容:
[1500630464.420189] [064.1] [pid=21171] Making callbacks (type 9)... [1500630464.420243] [064.1] [pid=21171] Making callbacks (type 9)... [1500630464.420308] [064.1] [pid=21171] Making callbacks (type 9)... [1500630464.420389] [064.1] [pid=21171] Making callbacks (type 9)... [1500630464.421086] [064.1] [pid=21171] Making callbacks (type 7)... [1500630464.421767] [064.1] [pid=21174] Making callbacks (type 9)...
同样,我已经在受监视的主机上启用了对NRPE服务的debugging输出( debug=1 ),但是NRPE日志只告诉我我的check_memory命令已经成功添加了。
我正在运行NRPE 3.0.1-3和Nagios 3.5.1。
我怎样才能解决这个问题或收集更多关于这个问题的信息?
事实certificate,在监控服务器上运行的重复Nagios进程不受重新启动服务的影响,因此保持使用旧的,错误版本的configuration。 虽然我们不能重build我们如何结束两个Nagios进程,但是杀死重复的进程却解决了这个问题。