zoukankan      html  css  js  c++  java
  • ganglia使用nagios告警

    1.复制所需脚本到nagios的脚本目录,并设置权限

      cp -fr ./ganglia-3.7.1/contrib/check_ganglia.py   /usr/local/nagios/libexec/
        chown nagios.nagios /usr/local/nagios/libexec/check_ganglia.py
        chmod 755  /usr/local/nagios/libexec/check_ganglia.py

    2.添加check_ganglia的命令

        编辑commands.cfg文件,添加如下内容

    # 'check_ganglia' command definition
    define command {
            command_name check_ganglia
            command_line $USER1$/check_ganglia.py -h $HOSTNAME$ -m $ARG1$ -w $ARG2$ -c $ARG3$
    }

    3.check_ganglia.py 使用方法:

    ./check_ganglia.py -h

    check_gmond: option -h requires argument

    Usage: check_ganglia -h|--host= -m|--metric= -w|--warning= -c|--critical= [-s|--server=] [-p|--port=]

    -h :指定监控的nodes

    -m  指定监控的metric  

    -w 指定 wanning 值

    -c 指定错误值

    -s 指定ganglia 的server

    -p 指定端口

     

    /usr/local/nagios/libexec/check_ganglia.py  -h puppet.sa.beyond.com -m load_one -w 1 -c 2

    4. 根据脚本使用方法,进行配置监控

    define service {
               use                  beyond-service
              host_name             test.sa.beyond.com
             service_description    check_load_one
            check_command           check_ganglia!load_on!1!2
    }
    define service {
               use                  beyond-service
              host_name             test.sa.beyond.com
             service_description    check_load_five
            check_command           check_ganglia!load_five!0.9!1
    }
    
    define service {
               use                  beyond-service
              host_name             test.sa.beyond.com
             service_description    check_load_fifteen
            check_command           check_ganglia!load_fifteen!1!2
    }

    5.打开nagios界面,可以看到效果

    6. 在nagiosUI上添加ganglia的图

        如果主机和服务名在ganglia和nagios中保持一致,那么只需要使用内置的nagios宏就可以将任意服务的action_url指回ganglia的graph.php文件,这样用户在点击nagiosUI中的action_url来请求某项服务时,就可以获得这个服务在ganglia的图标形式的数据

    例如:某项服务 load_one我们可以用下面语句来获取ganglia的数据

            http://203.130.45.173:9100/ganglia/graph.php?c=beyond&h=puppet.sa.beyond.com&m=load_one&r=hour&z=large

    c表示主机所在的cluster

    h表示主机    可以使用nagios内置宏hostname来传递

    m表示metric   可以使用nagios内置宏 servicedesc 来传递

    由于在nagios中没有集群的概念,所以需要自动宏来传递主机所在的cluster。nagios自定义宏以下划线开头,如下

     

    最后 为统一管理,可以在模版上加如action_url

     

    重启nagios。会在nagios的ui上看到图标,点击进去之后,是ganglia的图表

    <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">





  • 相关阅读:
    FreeMarker 2.3.17 发布,千年等一回
    NetBeans 时事通讯(刊号 # 150 Jun 11, 2011)
    2011 端午后,杭州支付宝
    FreeMarker 2.3.17 发布,千年等一回
    2011 端午后,杭州支付宝
    NetBeans 时事通讯(刊号 # 149 Jun 08, 2011)
    用Python实现一个简单的文件传输协议
    Scrapinghub | About Us
    用python实现一个socket echo程序 && tcp socket的几个关闭状态
    纯C日志函数库 zlog
  • 原文地址:https://www.cnblogs.com/pycode/p/9495866.html
Copyright © 2011-2022 走看看