zoukankan      html  css  js  c++  java
  • Nagios 利用NSClient++的check_nrpe方式使用自定义脚本监控windows

    分类

    NsClient++来监控windows主机有三种方式:check_nt、check_nrpe、nsca。check_nt自带很多功能,但是扩展性差,check_nrpe可以通过执行自己定义的脚本做到很好地扩展(官方推荐)。

    原理

    监控端通过check_nrpe把要监控的指令发送给被监控端,被监控端在本机执行监控任务,并把执行的结果发送回被监控端。

    实现

    以NSClient++0.3为例,示例的功能是监控某个进程是否运行。

    1. 编辑NSClient配置文件NSC.ini,去掉以下几行前面的“;”号(去掉注释,使其生效)

    NRPEListener.dll
    script_dir=scripts
    CheckExternalScripts.dll
    

    2. 在NSClient安装目录下的scripts文件夹下,新建一个check_run.bat批处理文件,如下  

    文件名:check_run.bat

    @echo off
    tasklist |find "%1" >NUL
    IF ERRORLEVEL 1 GOTO err
    IF ERRORLEVEL 0 GOTO ok
    
    :err
    echo CRITICAL: Process does not exist
    exit /B 1
    
    :ok
    echo OK: The process of normal
    exit /B 0

    3. 在NSC.ini文件中[External Scripts]下面添加如下行:

    check_run=scriptscheck_run.bat   chrome.exe

    :是[External Scripts]而不是[External Script]

    4. 重启NSClinet

    5. 可以在被监控端check_nrpe所在的目录(CentOs默认的安装目录为:/usr/lib64/nagios/plugins/)

    ./check_nrpe -H hostip -c check_run
    

    :-H后写刚才脚本所在的机器,-c后写命令,这里对应配置文件中的check_run

    如果结果与预期的一致,那么就可以继续配置监控端了

    6. 配置监控端

    修改commands.cfg

    增加

    define command{
            command_name    check_run
            command_line    /usr/lib64/nagios/plugins/check_nrpe -H yourip -c check_run
            }

    修改windows.cfg

    define service{
            use                     generic-service-urgent,srv-pnp
            host_name               youip   ;要展示信息的机器的ip
            service_description     check_fileexistspan
            check_command           check_run
            }

    效果

  • 相关阅读:
    【Java编程思想】13.字符串
    【Java编程思想】12.通过异常处理错误
    【Java编程思想】10.内部类
    【Java编程思想】11.持有对象
    【Java编程思想】9.接口
    【Java编程思想】8.多态
    【Java编程思想】7.复用类
    【Java编程思想】6.访问权限控制
    【Java编程思想】4.控制执行流程
    Ribbon、Feign、Hystrix使用时的超时时间设置问题
  • 原文地址:https://www.cnblogs.com/kaituorensheng/p/4670271.html
Copyright © 2011-2022 走看看