分类:
2010-10-05 16:01:47
ganglia介绍
ganglia 是 UC Berkeley (伯克利
大学)发起的一个开源监视项目,用于测量数以千计计算机的节点。每台计算机都运行一个收集和发送度量数据,可以监控CPU速度、内存使用状态,还可以和其
他第三方的插件结合使用,可以监控系统中更多内容,比如:Java、MySQL 等等。用户通过一个浏览器便可纵观全局上千台服务器各种运行状态。
如图所示:
系统架构
便于读者对整个系统有个宏观认识,先来看一下ganglia 整个系统架构。
在图中我们可以看出
1.管理节点(gmetad) 向代理节点(gmond) 发送请求信号,
2.gmond服务开始收集机器运行状态,将收集数据变成XML报文回送给gmetad 管理节点。
系统构成
gmetad: 收集各结点的数据并保存到数据库中
gmond: 收集本地机器的信息,并发送数据
rrdtool: Round Robin Database Tool是一个强大的绘图的引擎,很多工具例如MRTG都可以调用rrdtool绘图。
apache: web服务器
php: 执行环境,webfrontend使用php开发
1台监控服务器
n台被监控机
工作原理
ganglia是一个 C/B + B/S 结合的系统,整个工作过程如图所示:
1.管理节点通过gmetad.conf 配置文件中的代理节点主机列表地址和代理节点相互通信,大概三分钟轮询一次。
2.管理节点收集每个代理节点的机器运行信息,这些信息是通过XML协议进行传输。
3.管理节点收集到代理节点的XML协议后,解析成管理节点需要的数据格式。
4.再通过管理节点的 PHP 程序 调用 rrdtool 工具,将数据转换成图形。
5.当用户在浏览器上输入管理节点的 url地址 就可以看见图形化的数据了。
稍后将介绍 ganglia在linux 的安装与配置。
–end–