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;">
ganglia使用nagios告警的更多相关文章
- 完美集群监控组合ganglia和nagios
Ganglia是伯克利开发的一个集群监控软件.可以监视和显示集群中的节点的各种状态信息,比如如:cpu .mem.硬盘利用率, I/O负载.网络流量情况等,同时可以将历史数据以曲线方式通过php页面呈 ...
- Linux集群监控工具简介:Ganglia和Nagios
11年时候,曾经对 Ganglia 和 Nagios有一定接触,这是两个用于监视数据中心的工具.这两个工具被大量用于高性能计算(HPC)环境中,但是它们对于其他环境也具有很大的吸引力(例如云.呈现集群 ...
- Nagios 告警配置太复杂?CA简单实现Nagios自定义多功能告警
Nagios 是一个插件式的监控系统,可以监控服务的运行状态和网络信息等,并能监视所指定的本地或远程主机参数以及服务,同时提供异常告警通知功能等.Nagios 支持客户端的数据采集,通过编写客户端插件 ...
- Nagios告警和监控主机安装介绍(三)
Nagios邮件告警 配置sendEmail 解压缩tar –zxvf sendEmail-v1.56.tar.gz cd sendEmail-v1.56 将可执行程序复制cp sendEmail / ...
- nagios监控ganglia指标,并配置告警
背景:nagios的监控插件在轻量级方面不如ganglia的gmond,且ganglia在指标监控方面尤其突出的优势,而nagios在配置告警方面也比较方便,正好可以弥补ganglia无法配置告警通知 ...
- Nagios全方位告警接入-电话/微信/短信都支持
百度告警平台地址: http://gaojing.baidu.com 联系我们: 邮箱:gaojing@baidu.com 电话:13924600771 QQ群:183806029 Nagios接入 ...
- 如何把关联性的告警智能添加到 Nagios 上?(2)
上节回顾 对于许多 IT 和运维团队来说,Nagios 既是一个福音也是一个诅咒.一方面,Naigos 在 IT 应用的工作领域中,给予了你可以实时查看告警数据的可能性:但是另一方面,Nagios 也 ...
- <ganglia+nagios>rhel6.5
由于linux下的office和win下有所区别,我只能把linux下的.dot文件打包成pdf,粘贴发送标出来,但有些图片还是没办法发表,要是有朋友感兴趣的话,可加我qq 215687833具体的文 ...
- Ganglia+Nagios监控系统
第1章 简介 ganglia是一款为HPC(高性能计算) 集群设计的可扩展性 的分布式监控系统,它可以监视和显示集群中节点的各种状态信息,他由运行在各个节点上的gmond守护进程来采集 CPU.内存. ...
随机推荐
- visual studio 设计第一个WinForm小程序
WinForm小程序之消息框 首先打开visual studio 软件,然后[文件]-[新建]-[项目]-[Visual C#]-[Windows],选择Windows窗体应用程序,根据自己的需要修改 ...
- mysql trigger
转自:https://www.cnblogs.com/zyshi/p/6618839.html 阅读目录 什么是触发器 特点及作用 例子:创建触发器,记录表的增.删.改操作记录 弊端 什么是触发器 简 ...
- 深入理解this,bind、call
直接看this 直接看call和bind 首先放一道题: var a={ a:'haha', getA: function(){ console.log(this.a); } } var b= { a ...
- ABAP表抛FTP通用程序
主要功能: 1.支持R3所有表(标准.自建)下传,下传方式为FTP 2.支持输出字段选择及顺序调整 3.支持动态条件,不同的表会有不同的选择条件,根据不同的条件选择需要下传的数据 4.支持单表.多表. ...
- redis查看状态信息
redis查看状态信息 info all|default Info 指定项 server服务器信息 redis_version : Redis 服务器版本 redis_git_sha1 : Git S ...
- [Vuex] Split Vuex Store into Modules using TypeScript
When the Vuex store grows, it can have many mutations, actions and getters, belonging to different c ...
- jvm理论-运行时数据区
三大流行jvm sun HotSpot ibm j9 BEA JRockit Oracle 会基于HotSpot整合 JRockit. jvm运行时数据区 java虚拟机所管理的内存将会包括以下几个运 ...
- ld: framework not found FileProvider for architecture arm64
出现这个问题是因为 静态库是用Xcode9打包的. 如果用xcode8编译的话就会出现这个问题 解决办法 从Xcode9里把这个库拷贝出来.然后放到Xcode8上面 One way to fix t ...
- 学习ReentrantLock
1. 使用ReentrantLock import java.util.concurrent.locks.ReentrantLock; public class TestReentrantLock { ...
- TensorFlow迭代速度变慢的问题
最近用TensorFlow实现遗传算法(Genetic Algorithms),发现迭代速度越来越慢,用time.time()观察以后,发现每次迭代都要比上一次慢0.5秒左右,但是每次迭代的计算量是差 ...