此文章用于学习和交流转载请注明
也可加入群316297243交流学习
1 Ganglia简介
Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu 、mem、硬盘利用率,I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。
看下ganglia监控的一个图:
可以很只直观的观察系统的各个指标,特别是对于分布式系统来说,无疑非常重要,而且Hadoop,Hbase提供了集成了ganglia的配置文件。
2 ganglia组成以及工作流程
2.1 组成
在了ganglia的组成之前,先来看下一张图
从上图可以很直观的看到,一个监控系统大概包括:
Gmond,gmetad,rrdtool,Apache,PHP以及一个展示的web
组件:
1)gmond用于节点信息的收集和存储
收集:一般用于收集本节点,用gmond.conf的udp_rev_channel来配置
存储:并不是所有的gmond的都用来存储,可以找出其中的一台或者几台来存储即可,用gmond.conf的udp_send_channel来配置。
各个gmond节点之间的信息发送接收主要用udp协议
2)gmetad 用于轮询gmond节点存储的信息
Gmetad可以配置轮询的gmond节点,通过source 参数配置。
这里的个gmond节点就是上面udp_send_channel所配置的节点,可以是hostname或者ip
3)rrdtool 用于存储数据,和画图
rrdtool把gmetad轮询收集到的数据持久化磁盘文件中,并且还可以利用这些数据画图,更好的展示这些数据
4)gweb用于展示收集到的数据
2.2 工作流程
监控的集群节点的步骤如