Ganglia是由UC Berkeley发起的一个开源项目,主要通过收集各节点上的度量数据(如处理器速度、内存使用量等)实现系统性能的监控。Ganglia的核心包含gmetad、gmond以及Web前端三部分,这三部分之间通过XDL(xml的压缩格式)或者XML格式传递监控数据,达到监控效果,大致过程为:集群内的节点通过运行gmond收集并相互发布节点状态信息,然后gmetad利用RRDTool工具周期性的轮询gmond收集到的信息,然后存入rrd数据库,最后再利用RRDTool工具将收集到的数据创建成图表,并通过web前端将其显示出来。
Ganglia工作原理图
(1)Gmetad程序
Gmetad程序可以部署在集群内的任一个节点或者通过网络连接到集群的独立主机,它通过单播路由的方式与gmond通信负责周期性的到各个集群的数据源(datasource)节点去pool各个集群的数据,并更新到rrd数据库中。一个数据源节点就是是一个g