1. 安装rrdtool 1.1. 安装依赖包 Ø 拷贝CentOS软件包 将CentOS安装光盘中的rpm包拷贝到/root/下,以备使用。 Ø 安装zlib开发包 rpm -ivh /root/CentOS/zlib-devel-1.2.3-3.x86_64.rpm Ø 安装freetype开发包: rpm -ivh /root/CentOS/freetype-devel-2.2.1-21.el5_3.x86_64.rpm Ø 安装libart开发包: rpm -ivh /root/CentOS/libart_lgpl-devel-2.3.17-4.x86_64.rpm Ø 安装libpng开发包: rpm -ivh /root/CentOS/libpng-devel-1.2.10-7.1.el5_3.2.x86_64.rpm 1.2. 安装rrdtool Ø 准备rrdtool源码包 rrdtool-1.2.27.tar tar zxvf rrdtool-1.2.27.tar cd rrdtool-1.2.27 Ø 编译安装 ./configure –prefix=/usr/local/rrdtool make make install Ø 验证是否安装成功 运行命令/usr/local/rrdtool/bin/rrdtool 如果出现以下文字说明安装成功: RRDtool 1.2.27 Copyright 1997-2008 by Tobias Oetiker Compiled May 24 2011 11:46:06 ... Ø 可能出现的问题 pkg-config找不到lib包,不用纠结于pkg-config,一定是某些lib没装好。 在configure rrdtool时会提升哪些包未装好,记得安装这些lib的源码包 2. 安装ganglia 2.1. 安装依赖软件 ganglia依赖以下软件:、 expat-2.0.1.tar.gz,apr-1.3.2.tar.bz2,apr-util-1.3.2.tar.bz2, confuse-2.6.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-1.3.2.tar.bz2 tar xvjf apr-1.3.2.tar.bz2 ./configure --prefix=/usr/local/apr make make install Ø 安装apr-util-1.3.2.tar.bz2 tar xvjf apr-util-1.3.2.tar.bz2 ./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) (1) 解压 tar zxvf ganglia-3.1.7.tar.gz (2) 配置 ./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 (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 Starting GANGLIA gmetad: [ OK ] 见到[OK]字样说明启动成功。 2.3. 安装ganglia节点(gmond) (1) 解压同gmetad (2) 配置:比gmetad时少“–with-gmetad”参数 (3) ./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 (4) 将gmond加入系统服务 cp {ganglia解压目录}gmond/gmond.init /etc/init.d/gmond (5) 将gmond命令加入到/usr/sbin/目录 cp /usr/local/ganglia/sbin/gmond /usr/sbin/ (9) 生成gmond的默认配置文件 gmond --default_config>/etc/ganglia/gmond.conf (10) 将gmond给 chkconfig托管 chkconfig --add gmond (11) 修改gmond配置文件/etc/ganglia/gmond.conf cluster { name = "test cluster" owner = "nobody" latlong = "unspecified" url = "unspecified" } (12) 开启gmond服务 service gmond start Starting GANGLIA gmetad: [ OK ] (6) 见到[OK]字样说明启动成功。 2.4. 安装ganglia web页面 2.4.1. 安装php (1) 安装php-common rpm -ivh /root/CentOS/php-common-5.1.6-27.el5.x86_64.rpm (2) 安装php-cli rpm -ivh /root/CentOS/php-cli-5.1.6-27.el5.x86_64.rpm (3) 安装php rpm -ivh /root/CentOS/php-5.1.6-27.el5.x86_64.rpm (4) 安装php-gd rpm -ivh /root/CentOS/php-gd-5.1.6-27.el5.x86_64.rpm 2.4.2. 构建web服务器 (1) 创建ganglia的web目录 mkdir /var/www/html/ganglia (2) 拷贝ganglia的web目录下文件到httpd服务器 cp -a {ganglia解压目录}/web/* /var/www/html/ganglia/ (3) 禁用 SELinux setenforce 0 (如果不禁用会报错:Forbidden,You don’t have permission to access /ganglia/ on this server) (4) 修改conf.php为ganglia指定rrdtool命令路径 define("RRDTOOL", "/usr/local/rrdtool/bin/rrdtool"); (5) 重启httpd服务器 service httpd restart (6) 查看web页面 http://web服务器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 cannot find a data source. Is gmond running? There was an error 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 have permission to access /ganglia/ on this server 是SELinux没有禁用 (责任编辑:IT) |