Ganglia是一个分布式的监控工具,用来对Grid和Cluster上面的节点进行监控,利用它提供的web界面可以看到每个节点状态,并且可以输出图形化的表示。
安装过程:
首先安装rrdtool(Round Robin Database Tool),rrdtool是一个数据库软件。它是一个主要用于进行监控的数据库,与其它的数据库相比,具有以下三个特点:
1.除了存储数据之外,它具有可以创建图形的工具;
2.它的数据库文件大小是固定的,新的数据添加到已有数据的后面,当到了文件末尾的时候就开始从文件开始写数据,Round Robin就是指这个意思;
3.一般的数据库只能存储数据本身,而rrd可以存储相对与以前的数据的变动;
4.一般的数据库是在提供数据的时候才更新,而RRD是在每一个预先设好的时间间隔都会更新,每次更新的时候,time stamp也会存储进去。
Ganglia监控软件主要是用来监控系统性能的软件,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。支持浏览器方式访问,但不能监控节点硬件技术指标
ganglia 是分布式的监控系统,有两个Daemon, 分别是:客户端Ganglia Monitoring Daemon (gmond)和服务端Ganglia Meta Daemon (gmetad),还有Ganglia PHP Web Frontend(基于web的动态访问方式)组成。是一个Linux下图形化监控系统运行性能的软件,界面美观、丰富,功能强大。
RRDtool是系统存放和显示time-series (即网络带宽、温度、人数、服务器负载等) 。并且它提出有用的图表由处理数据强制执行有些数据密度。
Ganglia依赖以下包:
zlib-1.2.2-4
libpng-1.2.1-6
freetype2-2.1.7-2
libart_lgpl-2.3.16-1
rrdtool-1.2.11
perl
1)server端的安装
A.gmetad需要先安装RRDTool,默认的安装路径:/usr/local/rrdtool-
tar zxvf rrdtool-*.tar.gz
cd rrdtool-*
./configure --prefix=/usr #使用/usr会减少很多麻烦,头文件会放到/usr/include,库文件放到/usr/lib
make; make install
B. gmetad的安装(目前版本是3.0.3)
gmetad不是默认安装的,安装时需要加参数 --with-gmetad 。即rrdtool库及其头文件必须存在,默认的路径是/usr/include/rrd.h和 /usr/lib/librrd.a,如果在安装rrdtool时安在了不同的路径下,这里需要指明它们的路径。
tar –zxvf ganglia-3.0.3.tar.gz
cd ganglia-*
./configure --prefix=/usr/local/ganglia CFLAGS="-I/rrd/header/path" \
CPPFLAGS="- I/rrd/header/path" LDFLAGS="-L/rrd/library/path" --with-gmetad
make; make install
将gmetad.init文件拷贝到 /etc/init.d/:
cd ganglia-3.0.3/gmetad
cp gmetad.init /etc/init.d/gmetad
将配置文件拷贝到/etc目录下:
cp gmetad.conf /etc/gmetad.conf
chkconfig gmetad on
chkconfig --list gmetad
GMETAD 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Whe using gmetad make sure you have directory
/var/lib/ganglia/rrds
owned by "nobody"
For more info look at README
启动gmetad:
service gmetad start
Starting GANGLIA gmetad: [ OK ]
验证gmetad正常工作:telnet localhost 8651
就可以得到监控的各个主机的状态。
gmetad.conf的配置
# data_source "another source" 1.3.4.7:8655 1.3.4.8
data_source "SERVER" 10 node1 node2
data_source是最重要的参量,在GMOND的Cluser name配置必须与data_source的相同,这个参量被设置为群的名字,被监测以便能监测那群状态。如果有二个或更多监测对象,当有一对象不能被监测,将读取data_source 配置的下一个对象
2) client端安装和配置
安装ganglia:
tar zxvf ganglia-3.0.3.tar.gz
cd ganglia-3.0.3
./configure --prefix=/usr/local/ganglia
make; make install
cd ganglia-3.0.3/gmond
gmond –t > /etc/gmond.conf
cp gmond.init /etc/init.d/gmond
chkconfig gmond on
chkconfig --list gmond
gmond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
service gmond start
Starting GANGLIA gmond: [ OK ]
验证gmond正常工作:telnet localhost 8649 就可以获取机群内运行gmond的主机的信息
配置gmond.conf:
/etc/gmond.conf:
globals {
setuid = no
user = nobody
cleanup_threshold = 300 /*secs */
}
修改监控组名称
name = “SERVER”
配置完成后重新启动gmond.
3)安装web前端
cp -a ganglia-3.0.3/web /var/www/html/ganglia
确定web server支持PHP4
对apache来说,php模块mod_php的状态应该是enabled,貌似默认就是的^_^
配制文件是/var/www/html/ganglia/conf.php
在浏览器地址栏输入应该可以看到有页面显示了。