Ganglia是一个跨平台可扩展的,高性能计算系统下的分布式监控系统,如集群和网格。它基于分层设计,它使用广泛的技术,如XML数据代表,便携数据传输,RRDtool用于数据存储和可视化。它已移植到广泛的操作系统和处理器架构上,目前在世界各地成千上万的集群正在使用。它已被用来连结大学校园和世界各地,可以处理2000节点的规模。Ganglia项目是由加州大学发起的,现在已经成为一个应用非常广泛集群监控软件。可以监视和显示集群中的节点的各种状态信息,比如如:CPU、mem、硬盘利用率, I/O负载、网络流量情况等,同时可以将历史数据以曲线方式通过php页面呈现。同时具有很好的扩展性,允许用户加入自己所要监控的状态信息。
Ganglia包括如下几个程序,他们之间通过XDL(xml的压缩格式)或者XML格式传递监控数据,达到监控效果。集群内的节点,通过运行gmond收集发布节点状态信息,然后gmetad周期性的轮询gmond收集到的信息,然后存入rrd数据库,通过web服务器可以对其进行查询展示。 集群内各个节点的信息收集可以通过ganglia系统自动的收集起来,这个收集是独立进行的。其通信性能都是经过良好设计和优化的。
具体的机制是:周期性的将这些信息发送给gmond,这样信息就加入了ganglia监控系统。通过ganglia的监控机制完成监控数据的收集显示的功能。Ganglia系统的机制可以参考2.1ganglia工作原理。数据可以通过图形显示出来。通过登录web服务器即可查看。目前用户可以通过该视图查看集群及单独节点的状态曲线。同时,Ganglia具有基本的排序机制,可以根据值降序或者升序排序。可以查看过去1小时、1天、1周、1年等时间段的状态曲线。