配色: 字号:
详解Ganglia监控
2013-01-21 | 阅:  转:  |  分享 
  
详解Ganglia监控

详解Ganglia监控[''ɡ??ɡli?]

Ganglia



是一个跨平台可扩展的,高性能计算系统下的分布式监控系统,如集群和网格。它是基于分层设计,它使用广泛的技术,如XML数据代表,便携数据传输,RRDtool用于数据存储和可视化。它利用精心设计的数据结构和算法实现每节点间并发非常低的。它已移植到广泛的操作系统和处理器架构上,目前在世界各地成千上万的集群正在使用。它已被用来连结大学校园和世界各地,可以处理2000节点的规模。

目录

1?Ganglia简介

2?Ganglia工作原理

3?Ganglia优点 Ganglia简介

Ganglia项目是由加州大学发起的,现在已经成为一个应用非常广泛集群监控软件。可以监视和显示集群中的节点的各种状态信息,比如如:CPU?、mem、硬盘利用率,?I/O负载、网络流量情况等,同时可以将历史数据以曲线方式通过php页面呈现。同时具有很好的扩展性,允许用户加入自己所要监控的状态信息。

官方网站:http://ganglia.info/

开发语言:C++

授权方式:BSDlicenses

运行环境:Linux

最新下载:http://ganglia.info/?page_id=66

Ganglia工作原理

Ganglia包括如下几个程序,他们之间通过XDL(xml的压缩格式)或者XML格式传递监控数据,达到监控效果。集群内的节点,通过运行gmond(客户端Daemon)收集发布节点状态信息,然后gmetad(服务端Daemon)周期性的轮询gmond收集到的信息,然后存入rrd数据库,通过web服务器可以对其进行查询展示。



Ganglia优点

自动收集数据

集群内各个节点的信息收集可以通过ganglia系统自动的收集起来,这个收集是独立进行地。其通信性能都是经过良好设计和优化的。具体的机制是:周期性的将这些信息发送给gmond,这样信息就加入了ganglia监控系统。通过ganglia的监控机制完成监控数据的收集显示的功能。?Ganglia系统的机制可以参考2.1ganglia工作原理。

图形界面

数据可以通过图形显示出来。通过登录web服务器即可查看。目前可以通过该视图查看集群及单独节点的状态曲线。同时具有基本的排序机制,可以根据值降序或者升序排序。可以查看过去1小时?1天?1周?1年等时间段的状态曲线。

数据库rrdtool存储了历史数据

由于采用了rrd存储数据,这样我们不单可以查看当前的状态,还可以查看之前的状态历史,同时可以将metrics随时间的变化以曲线的方式变现表现出来。而单独的向文件写日志很难保存和方便地查看之前的历史记录。而且有可能使得日志文件很大。RRDtool具有如下优点:

除了存储数据之外,它具有可以创建图形的工具;

它的数据库文件大小是固定的,新的数据添加到已有数据的后面,当到了文件末尾的时候就开始从文件开始写数据,RoundRobin就是指这个意思;

一般的数据库只能存储数据本身,而rrd可以存储相对与以前的数据的变动

一般的数据库是在提供数据的时候才更新,而RRD是在每一个预先设好的时间间隔都会更新,每次更新的时候,timestamp也会存储进去

Ganglia监控软件主要是用来监控系统性能的软件,如:cpu?、mem、硬盘利用率,?I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。支持浏览器方式访问,但不能监控节点硬件技术指标ganglia?是分布式的监控系统,有两个Daemon,?分别是:客户端GangliaMonitoringDaemon(gmond)和服务端GangliaMetaDaemon(gmetad),还有GangliaPHPWebFrontend(基于web的动态访问方式)组成。是一个Linux下图形化监控系统运行性能的软件,界面美观、丰富,功能强大。

gmetad可以部署在集群内任一台节点或者通过网络连接到集群的独立主机,它通过单播路由的方式与gmond通信,收集区域内节点的状态信息,并以XML数据的形式,保存在数据库中。RRDtool是系统存放和显示time-series(即网络带宽、温度、人数、服务器负载等)?。并且它提出有用的图表由处理数据强制执行有些数据密度。Ganglia依赖以下包:zlib-1.2.2-4libpng-1.2.1-6freetype2-2.1.7-2libart_lgpl-2.3.16-1rrdtool-1.2.11perl1)server端的安装A.gmetad需要先安装RRDTool,默认的安装路径:/usr/local/rrdtool-tarzxvfrrdtool-.tar.gz?cdrrdtool-./configure--prefix=/usr??#使用/usr会减少很多麻烦,头文件会放到/usr/include,库文件放到/usr/libmake;makeinstallB.gmetad的安装(目前版本是3.0.3)gmetad不是默认安装的,安装时需要加参数?--with-gmetad?。即rrdtool库及其头文件必须存在,默认的路径是/usr/include/rrd.h和?/usr/lib/librrd.a,如果在安装rrdtool时安在了不同的路径下,这里需要指明它们的路径。tar–zxvfganglia-3.0.3.tar.gzcdganglia-./configure--prefix=/usr/local/gangliaCFLAGS="-I/rrd/header/path"\CPPFLAGS="-I/rrd/header/path"LDFLAGS="-L/rrd/library/path"--with-gmetadmake;makeinstall将gmetad.init文件拷贝到?/etc/init.d/:?cdganglia-3.0.3/gmetadcpgmetad.init/etc/init.d/gmetad将配置文件拷贝到/etc目录下:cpgmetad.conf/etc/gmetad.confchkconfiggmetadonchkconfig--listgmetadGMETAD0ff1ff2n3n4n5<=""span=""data-media-type="image"data-inited="true"style="cursor:default;display:inline-block;">?title=点击图片可在新窗口打开align=absmiddlev:shapes="_x0000_i1030">n6?title=点击图片可在新窗口打开align=absmiddleborder=0v:shapes="_x0000_i1031">?ffWheusinggmetadmakesureyouhavedirectory?/var/lib/ganglia/rrdsownedby"nobody"FormoreinfolookatREADME?启动gmetad:servicegmetadstartStartingGANGLIAgmetad:[OK]验证gmetad正常工作:telnetlocalhost8651就可以得到监控的各个主机的状态。gmetad.conf的配置#data_source"anothersource"1.3.4.7:86551.3.4.8data_source"SERVER"10node1node2data_source是最重要的参量,在GMOND的Clusername配置必须与data_source的相同,这个参量被设置为群的名字,被监测以便能监测那群状态。如果有二个或更多监测对象,当有一对象不能被监测,将读取data_source?配置的下一个对象2)client端安装和配置安装ganglia:tarzxvfganglia-3.0.3.tar.gzcdganglia-3.0.3./configure--prefix=/usr/local/gangliamake;makeinstallcdganglia-3.0.3/gmondgmond–t>/etc/gmond.confcpgmond.init/etc/init.d/gmondchkconfig??gmondonchkconfig--listgmondgmond0<=""span=""data-media-type="image"data-inited="true"style="cursor:default;display:inline-block;">?title=点击图片可在新窗口打开align=absmiddlev:shapes="_x0000_i1032">ff1?title=点击图片可在新窗口打开align=absmiddleborder=0v:shapes="_x0000_i1033">?ff2<=""span=""data-media-type="image"data-inited="true"style="cursor:default;display:inline-block;">?title=点击图片可在新窗口打开align=absmiddlev:shapes="_x0000_i1034">n3?title=点击图片可在新窗口打开align=absmiddleborder=0v:shapes="_x0000_i1035">?n4n5n6ffservicegmondstartStartingGANGLIAgmond:[OK]验证gmond正常工作:telnetlocalhost8649?就可以获取机群内运行gmond的主机的信息配置gmond.conf:/etc/gmond.conf:globals{?setuid=no?user=nobody?cleanup_threshold=300/secs/?}?修改监控组名称name=“SERVER”配置完成后重新启动gmond.3)安装web前端cp-aganglia-3.0.3/web/var/www/html/ganglia确定webserver支持PHP4对apache来说,php模块mod_php的状态应该是enabled,貌似默认就是的^_^配制文件是/var/www/html/ganglia/conf.php

?



















高手不多博客http://blog.163.com/access_cpj/







献花(0)
+1
(本文系云开见日531...首藏)