nagios,ganglia,mysql构建服务器集群监控体系【todo】

本文详细介绍了如何利用Ganglia进行硬件监控,通过定期脚本收集系统资源状况,并使用UDP协议进行数据传输。同时,文章探讨了Nagios在监控阈值判断及告警机制的应用,以及如何通过MySQL替代Ganglia内部的RRD数据库以实现数据持久化存储。最后,文章阐述了如何自定义开发一个管控模块,整合Ganglia、Nagios与MySQL,构建一个全面、灵活且高效的监控系统。
摘要由CSDN通过智能技术生成

简介

gmond/ganglia,用于进行各节点数据监控
nagios,用于进行阈值判断及告警信息产生
mysql,进行数据存储

ganglia里面,其实有一个数据存储机制,RRD,用rrdtool进行存储。这个软件协议是GPL的,如果进行商用会不合法。所以使用mysql进行数据存储,可以跳过这个。

ganglia是一个完整的体系,其中包括一个php的静态页面展示,做的挺专业的。但是与现在互联网模式下的页面无法对接,借助mysql也更好。

所有开源软件备齐,自行开发一个简单的管控模块,用于从gmond定时收集数据,然后存储到mysql中。
同时,nagios直接对接ganglia,告警信息缓存进mysql数据库。用开发的管控模块一起监控起来。

架构

最核心的是ganglia core
具体的工人是ganglia client
这是我对他们的称呼,其实只是配置不同。

ganglia

ganglia是用来进行硬件监控的。原理是定期调用一个脚本,去获取系统当前资源状况,然后通过udp的方式,将数据发送出去。
ganglia之间可以相互发送数据与接收数据。
ganglia发送有udp单播发送喝udp组播这两种。
ganglia可以配置接收端(自己既是发送,也可以是接收),可以配置为组播模型,这样每一个ganglia client上,都有整个集群的所有数据;也可以配置成单播形式,这样集群内会有一个ganglia core节点来收取所有数据。

ganglia自身是有一套体系的,有自己的php展示页面,但是都是静态图片,对于这种实时监控不合适。

ganglia后面也可以接一个RDD数据库,通过rdd tool来进行数据采集。但是这个工具涉及gpl协议,所以如果想要商业化,就得用ganglia client,然后自己写一个采集系统(很简单的)

nagios

nagios是用来做监控的模块,简单来说,nagios从ganglia core拿数据,拿到数据后,把数据与自己所存储的阈值做对比,超过阈值的标记为告警,然后走自己的告警机制处理。

有些同学会认为nagios告警很简单,自己写一个,千万不要这么搞。这是由于对告警这部分理解不完全导致。告警有很多注意的地方,譬如重复告警、告警级别、方式等。

这部分没有太深入研究。

mysql

这个是用来替换掉ganglia的rdd数据库的,当然自己要写一套解析程序,不复杂,就是标准的xml解析。定时从ganglia core获取数据,然后解析,放进mysql长期存储即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值