zoukankan      html  css  js  c++  java
  • nagios的nrpe的check_command配置优化

    问题处理了两个小时,MMD,各种问题:

    先是出现了check_load的时候说参数错误。

    然后我就希望

    在nagios客户端获取到命令日志

    在这篇:NREP将日志放入message中 的引导下终于解决了

    大致意思就是打开了debug模式,会将日志存放到deamon.debug中, 然后只要在syslog.conf中将deamon.debug显示就行了。

    看到客户端里面的日志有:

    Running command: /usr/local/nagios/libexec/check_load -w -c 

    很显然就是命令参数错误

    于是我就调整,客户端和服务端的nrpe的参数,发现里面的ARG1,ARG2各种传过来传过去迷糊了。。。

    接着我的想法就是索性将check_load的所有参数都由服务端控制,于是有了下面的配置:

    客户端:
    
    command[check_load]=/usr/local/nagios/libexec/check_load $ARG1$
    
    服务端:
    
    define command{
            command_name check_remote_nrpe
            command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$
            }
    
    
    define service{
        host_name web_218
        service_description check-load
        check_command check_remote_nrpe!check_load!"-w 7:7:7 -c 15:15:15"
        max_check_attempts 4 
        normal_check_interval 3
        retry_check_interval 1
        contact_groups admins
        notification_interval 3
        notification_options w,u,c,r 
    }

    注意这里check-load service的check_command的最后一个参数的引号必须加上,否则check_remote_nrpe组装command的时候只是原封不动地组装进去的。会变成-c后面的是命令,这就错了。

    后来想想,它的好处就是所有参数都由服务端控制,大大增加了便捷性。所以打算其他的监控命令也这样使用。

  • 相关阅读:
    Markdown学习笔记
    Go 学习笔记(一)
    case中定义变量
    <转>MySql 与Oracle区别
    Java 时间转换问题总结
    线程之间共享
    并发编程快速入门
    redis主从复制
    jedis操作redis
    redis持久化方案
  • 原文地址:https://www.cnblogs.com/yjf512/p/3666070.html
Copyright © 2011-2022 走看看