1. 安装rrdtool
1.1. 安装依赖包
可以将相关的依赖包下载到/tmp/soft_code/下,或者使用yum下载
安装zlib,freetype,libart,libpng
zlib-devel-1.2.3-3.x86_64.rpm freetype-devel-2.2.1-21.el5_3.x86_64.rpm libart_lgpl-devel-2.3.17-4.x86_64.rpm libpng-devel-1.2.10-7.1.el5_3.2.x86_64.rpm
1.2. 安装rrdtool
rrdtool-1.4.5.tar.gz tar -zxvf rrdtool-1.4.5.tar.gz cd rrdtool-1.4.5 ./configure –prefix=/usr/local/rrdtool make && make install
验证是否安装成功
运行命令/usr/local/rrdtool/bin/rrdtool
如果出现以下文字说明安装成功:
RRDtool 1.4.5 Copyright 1997-2010 by Tobias Oetiker<tobi@oetiker.ch>
Compiled Jul 26 2011 18:27:11
...
可能出现的问题
pkg-config找不到lib包,不用纠结于pkg-config,一定是某些lib没装好。
在configure rrdtool时会提升哪些包未装好,记得安装这些lib的源码包
2. 安装ganglia
2.1. 安装依赖软件
ganglia依赖以下软件:
apr-1.2.8.tar.gz apr-util-1.2.8.tar.gz confuse-2.6.tar.gz expat-2.0.1.tar.gz
安装expat-2.0.1
tar tar zxvf expat-2.0.1.tar.gz ./configure --prefix=/usr/local/expat make && make install
mkdir /usr/local/expat/lib64
cp -a /usr/local/expat/lib/*/usr/local/expat/lib64/
32位操作系统不用做上面两步
安装apr,apr-util
tar -zxvf apr-1.2.8.tar.gz ./configure --prefix=/usr/local/apr make && make install
tar -zxvf apr-util-1.2.8.tar.gz ./configure –with-apr=/usr/local/apr–with-expat=/usr/local/expat make && make install
cp /usr/local/apr/include/apr-1/*/usr/local/apr/include/
因为ganglia安装时默认会去/usr/local/apr/include下寻找apr的库文件
mkdir /usr/local/apr/lib64
cp -a /usr/local/apr/lib/*/usr/local/apr/lib64/
32位操作系统不用做上面两步
安装confuse-2.6.tar.gz
tar zxvf confuse-2.6.tar.gz ./configure CFLAGS=-fPIC --disable-nls--prefix=/usr/local/confuse make && make install
mkdir /usr/local/confuse/lib64
cp -a /usr/local/confuse/lib/*/usr/local/confuse/lib64/
32位操作系统不用做上面两步
2.2. 安装ganglia管理端(gmetad)
tar -zxvf ganglia-3.1.7.tar.gz
./configure --prefix=/usr/local/ganglia--with-librrd=/usr/local/rrdtool --with-libapr=/usr/local/apr--with-libexpat=/usr/local/expat --with-libconfuse=/usr/local/confuse--with-gmetad --enable-gexec --enable-status --sysconfdir=/etc/ganglia
如果出现: libpcre not found, specify --with-libpcre=no to build without PCRE support 可以: wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.02.tar.gz tar -xzvf pcre-8.02.tar.gz cd pcre-8.02 ./configure make && make install |
(3)编译,安装
make && make install
(4)为rrdtool创建数据存放目录
mkdir -p /var/lib/ganglia/rrds
chown -R nobody:nobody /var/lib/ganglia/rrds
(5)将gmetad添加到系统服务
cp {ganglia解压目录}gmetad/gmetad.init /etc/init.d/gmetad
(6)将gmetad命令加入到/usr/sbin/目录
cp /usr/local/ganglia/sbin/gmetad /usr/sbin/
(7) gmetad给 chkconfig托管
chkconfig --add gmetad
(8)开启gmetad服务
service gmetad start
StartingGANGLIA gmetad: [ OK ]
见到[OK]字样说明启动成功。
2.3. 安装ganglia节点(gmond)
(1)解压同gmetad
(2)配置:比gmetad时少“–with-gmetad”参数
./configure –prefix=/usr/local/ganglia –with-librrd=/usr/local/rrdtool–with-libapr=/usr/local/apr –with-libexpat=/usr/local/expat–with-libconfuse=/usr/local/confuse –enable-gexec –enable-status--sysconfdir=/etc/ganglia make && make install
(3)将gmond加入系统服务
cp {ganglia解压目录}gmond/gmond.init /etc/init.d/gmond
(4)将gmond命令加入到/usr/sbin/目录
cp /usr/local/ganglia/sbin/gmond /usr/sbin/
(5)生成gmond的默认配置文件
gmond --default_config > /etc/ganglia/gmond.conf
(6)将gmond给 chkconfig托管
chkconfig --add gmond
(7)修改gmond配置文件/etc/ganglia/gmond.conf
cluster {
name = "test cluster"
owner = "nobody"
latlong = "unspecified"
url = "unspecified"
}
(8)开启gmond服务
service gmond start
StartingGANGLIA gmetad: [ OK ]
见到[OK]字样说明启动成功。
2.4. 安装ganglia web页面
2.4.1. 安装php
安装php-common,php-cli,php,php-gd
rpm -ivh/root/CentOS/php-common-5.1.6-27.el5.x86_64.rpm rpm -ivh /root/CentOS/php-cli-5.1.6-27.el5.x86_64.rpm
rpm -ivh/root/CentOS/php-5.1.6-27.el5.x86_64.rpm rpm -ivh/root/CentOS/php-gd-5.1.6-27.el5.x86_64.rpm
2.4.2. 构建web服务器
(1)创建ganglia的web目录 && 拷贝ganglia的web目录下文件到httpd服务器
mkdir /var/www/html/ganglia
cp -a {ganglia web解压目录}/web/* /var/www/html/ganglia/
(2)禁用 SELinux
setenforce 0 (如果不禁用会报错:Forbidden,You don’t havepermission to access /ganglia/ on this server)
(3)修改conf.php为ganglia指定rrdtool命令路径
define("RRDTOOL","/usr/local/rrdtool/bin/rrdtool");
(4)重启httpd服务器
service httpd restart
(5)查看web页面
http://服务器ip/ganglia/
3. 集群式部署
集群的部署依靠配置文件:
/etc/ganglia/gmetad.conf
这里需要配置的是集群名称和server端地址
data_source "my cluster"localhost
/etc/ganglia/gmond.conf
这里需要配置cluster下的name和owner属性与gmetad端一致
cluster {
name = "my cluster"
owner = "nobody"
latlong = "unspecified"
url = "unspecified"
}
如果修改owner,同时也要修改Rrdtool的数据文件目录的owner:
chown -R nobody:nobody/var/lib/ganglia/rrds
4. 安装过程中遇到的问题
安装rrdtool过程中提示pkg-config错误
一般是库没有装全,记得要安装dev库
安装ganglia过程中找不到confuse,expat,apr等库
如果是64位机,ganglia会在依赖库的lib64目录下去查找文件,所以需要将lib目录下文件拷贝到lib64目录下
gmetad启动失败
查看gmetad状态:service gmetad status
gmetad dead but subsys locked
在gmetad.conf中修改了用户
setuid_username "root" 这里需要username和rrd数据目录的owner一致
gmond启动失败:
查看gmond状态:service gmond status
gmond dead but subsys locked
可能是没有配置网关或者cluster的owner配置有问题
访问网页保错:
Ganglia cannotfind a data source. Is gmond running?
There was anerror collecting ganglia data XML error : Invalid document
现象是页面只有一行错误信息
解决办法是修改conf.php中的$ganglia_ip = "127.0.0.1";这里不能使用机器的ip,原因还不清楚。
图片无法显示
一般是php-gd没有安装或者/var/www/html/ganglia/conf.php中rrdtool的配置有问题
访问网页保错Forbidden,You don’t havepermission to access /ganglia/ on this server
是SELinux没有禁用