Beryl 2010-07-22
又要安装Ganglia,这次是Ubuntu。从网上搜了一些Ubuntu安装Ganglia的帖子发现有很多不适用的地方,尤其是针对最新版的Ganglia3.1.7。
关于ganglia监控的基本原理和结构图参见这个帖子,图画的很到位:
http://www.javabloger.com/article/j2ee-linux-ganglia-rrdtool-java-mysql-1.html
下面介绍下安装过程,用的是最新版的rrdtool和ganglia。首先去下载rrdtool和ganglia的最新源码,确保所有机器有gcc,并可用apt-get更新。
服务端Server即监控节点,安装gmetad和rrdtool,apache等,负责收集各个集群节点的数据。
Client端即被监控节点,需要安装gmond,gmond监控机器状态并向gmetad上传。
1.Server的安装和配置:
登录机器
sudoapt-getinstalllibapr1-devlibconfuse-devlibexpat-devlibpcre3-dev//注意这些仅供参考,如果缺包在configure时会提示,到时候再安装亦可。具体版本可用*匹配后再随便选一个安装即可
sudoapt-getinstallchkconfig或sysv-rc-conf
sudoapt-getinstalldaemon//这个很重要,新版的启动脚本里用到了daemon,而ubuntu里没有
a.安装rrdtool
tarzxvfrrdtool-1.4.4.tar.gz
cdrrdtool-1.4.4
./configure//此时会提示缺libart,freetype,libpng等等包。apt-get安装即可
make
sudomakeinstall
b.安装gmetad
tarzxvfganglia-3.1.17.tar.gz
cdganglia-3.1.17
./configureCFLAGS="-I/usr/local/rrdtool-1.4.4/include"CPPFLAGS="-I/usr/local/rrdtool-1.4.4/include"LDFLAGS="-L/usr/local/rrdtool-1.4.4/lib"--with-gmetad--enable-gexec--sysconfdir=/etc/ganglia//#加了--with-metad才会安装gmetad。这样会同时安装gmetad和gmond
make
sudomakeinstall
sudomkdir/etc/ganglia
sudocp~/ganglia-3.1.17/gmetad/gmetad.conf/etc/ganglia/gmetad.conf
sudovi/etc/ganglia/gmetad.conf//改下clustername和owner。设置setuid_username为当前用户名。这个设置按照其它帖子进行即可
vi~/ganglia-3.1.17/gmetad/gmetad.init//其中有一行/etc/rc.d/init.d/functions在ubuntu中是没有的,需要改成/lib/lsb/init-fuctions.
sudocp~/ganglia-3.1.17/gmetad/gmetad.init/etc/init.d/gmetad
chkconfiggmetadon或sysv-rc-confgmetadon//检查服务
sudoservicegmetadstart//启动服务
c.web前端
前提是安装了apache,如果没有安装一下
sudocp-a~/ganglia-3.1.17/www/var/www
sudomv/var/www/www/var/www/ganglia//改下名字
浏览器登录http://yourserverip/ganglia此时还没有Client节点加进来
2.Client的安装和配置:
登录机器
sudoapt-getinstalllibapr1-devlibconfuse-devlibexpat-devlibpcre3-dev
sudoapt-getinstallchkconfig或sysv-rc-conf
sudoapt-getinstalldaemon
tarzxvfganglia-3.1.17.tar.gz
cdganglia-3.1.17
----注意如果server也作为client,需要重新按照下面configure,make,makeinstall----
./configure--sysconfdir=/etc/ganglia//这个选项如果不加,最后会提示告诉你要加,为了不浪费时间第一次加上就行了
make
sudomakeinstall
sudomkdir/etc/ganglia//我们把配置文件放在/etc/ganglia,因此要先建立相应的目录
sudotouch/etc/ganglia/gmond.conf
sudochmod666/etc/ganglia/gmond.conf
sudogmond-t>/etc/ganglia/gmond.conf
sudovi/etc/gmond.conf//填写和Server相同的clustername,owner即可
vi~/ganglia-3.1.17/gmond/gmond.init//其中有一行/etc/rc.d/init.d/functions在ubuntu中是没有的,需要改成/lib/lsb/init-fuctions.
sudocp~/ganglia-3.1.17/gmond/gmond.init/etc/init.d/gmond//否则找不到gmond服务。
chkconfiggmondon或sysv-rc-confgmondon
sudomkdir/var/lock/subsys//启动时会向这个目录创建锁文件,ubuntu还是没有
sudoservicegmondstart//启动服务
此时刷新浏览器,看到多了一个机器。可以继续安装下一个Client。