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;">

 
 
 
 

ganglia使用nagios告警的更多相关文章

  1. 完美集群监控组合ganglia和nagios

    Ganglia是伯克利开发的一个集群监控软件.可以监视和显示集群中的节点的各种状态信息,比如如:cpu .mem.硬盘利用率, I/O负载.网络流量情况等,同时可以将历史数据以曲线方式通过php页面呈 ...

  2. Linux集群监控工具简介:Ganglia和Nagios

    11年时候,曾经对 Ganglia 和 Nagios有一定接触,这是两个用于监视数据中心的工具.这两个工具被大量用于高性能计算(HPC)环境中,但是它们对于其他环境也具有很大的吸引力(例如云.呈现集群 ...

  3. Nagios 告警配置太复杂?CA简单实现Nagios自定义多功能告警

    Nagios 是一个插件式的监控系统,可以监控服务的运行状态和网络信息等,并能监视所指定的本地或远程主机参数以及服务,同时提供异常告警通知功能等.Nagios 支持客户端的数据采集,通过编写客户端插件 ...

  4. Nagios告警和监控主机安装介绍(三)

    Nagios邮件告警 配置sendEmail 解压缩tar –zxvf sendEmail-v1.56.tar.gz cd sendEmail-v1.56 将可执行程序复制cp sendEmail / ...

  5. nagios监控ganglia指标,并配置告警

    背景:nagios的监控插件在轻量级方面不如ganglia的gmond,且ganglia在指标监控方面尤其突出的优势,而nagios在配置告警方面也比较方便,正好可以弥补ganglia无法配置告警通知 ...

  6. Nagios全方位告警接入-电话/微信/短信都支持

    百度告警平台地址: http://gaojing.baidu.com 联系我们: 邮箱:gaojing@baidu.com 电话:13924600771 QQ群:183806029 Nagios接入 ...

  7. 如何把关联性的告警智能添加到 Nagios 上?(2)

    上节回顾 对于许多 IT 和运维团队来说,Nagios 既是一个福音也是一个诅咒.一方面,Naigos 在 IT 应用的工作领域中,给予了你可以实时查看告警数据的可能性:但是另一方面,Nagios 也 ...

  8. <ganglia+nagios>rhel6.5

    由于linux下的office和win下有所区别,我只能把linux下的.dot文件打包成pdf,粘贴发送标出来,但有些图片还是没办法发表,要是有朋友感兴趣的话,可加我qq 215687833具体的文 ...

  9. Ganglia+Nagios监控系统

    第1章 简介 ganglia是一款为HPC(高性能计算) 集群设计的可扩展性 的分布式监控系统,它可以监视和显示集群中节点的各种状态信息,他由运行在各个节点上的gmond守护进程来采集 CPU.内存. ...

随机推荐

  1. hihocoder1323 回文字符串(区间dp)

    https://hihocoder.com/problemset/problem/1323 刚开始真没看出来这是一道dp题.. dp[i][j]表示i~j段修改成回文串所需的最少操作次数.然后根据s[ ...

  2. VS2013中Python学习笔记[基础入门]

    前言 在上一节中简单的介绍了在VS2013中如何进行开发Hello World,在VS2013中进行搭建了环境http://www.cnblogs.com/aehyok/p/3986168.html. ...

  3. golang 对slice的深拷贝 copy

    测试 slice的地址 copy的时候 发现有问题: package main import "fmt" func main() { nums:=[]int{1,2,3,4,5} ...

  4. 遭遇ASP.NET的Request is not available in this context

    如果ASP.NET程序以IIS集成模式运行,在Global.asax的Application_Start()中,只要访问Context.Request,比如下面的代码 var request = Co ...

  5. kettle 6.1 按时间增量抽取数据

    1.设计一个增量 配置表ETL_INCREMENTAL,用于配置表的增量时间等数据 2.增量JOB全图如下: 2.1获取增量时间变量,并设置增量变量 2.2 表的增量转换,在表中引用2.1的增量变量 ...

  6. Go语言之高级篇beego框架之日志收集系统

    一.日志收集系统架构设计 图1 图2 二.开发环境 1.安装jdk jdk-8u51-windows-x64.exe 安装目录:C:\Program Files\jdk8 2.安装zookeeper ...

  7. AOP - C# Fody中的方法和属性拦截

    很久很久以前用过postsharp来做AOP, 大家知道的,现在那东东需要付费,于是尝试了一下Fody,但是发现Fody跟新太快了,所以大家在安装fody的时候尽力安装老的版本:packages.co ...

  8. 使用docker搭建gitlab版本控制系统

    1. GitLab 简介 GitLab 是一款基于 git 的开源代码仓库系统   GitLab 与著名的 GitHub 最大的区别就是:  允许我们搭建自己的 git 代码私有仓库,非常方便   2 ...

  9. Java 基础【19】代理

    Java 代理(Proxy)模式与现实中的代理含义一致,如旅游代理.明星的经纪人. 在目标对象实现基础上,增加额外的功能操作,由此来扩展目标对象的功能. JavaWeb 中最常见的过滤器.Struts ...

  10. Spring Cloud Netflix Zuul 重试会自动跳过经常超时的服务实例的简单说明和分析

    在使用E版本的Spring Cloud Netflix Zuul内置的Ribbon重试功能时,发现Ribbon有一个非常有用的特性: 如果某个服务的某个实例经常需要重试,Ribbon则会在自己维护的一 ...