五、被监控节点上安装Ganglia:
根据IBM网站上的文章所述,只需要拷贝几个文件到节点机器,即可使用Ganglia对这些机器进行监控。但是我们一般都不允许以root帐户连接远程服务器,所以也比较烦琐,还不如直接安装。
被监控节点服务器不需要安装RRDTOOL,php等,只需要gmond。编译安装方式跟监控节点一样,但configure时要简单一些,下面一条命令即可:
./configure --sysconfdir=/etc/ganglia被监控节点上安装ganglia-gmond完毕后,从监控节点复制gmond.conf文件到被监控节点,然后启动/重启gmond,然后刷新监控web页面即可。
最好重启一下监控节点的gmetad。
然后把被监控端的gmond添加系统为系统服务,前面已经讲过了。略过。
被监控节点也可以使用yum方式安装,也是首先安装epel源,然后只需要运行下面命令:
yum install ganglia-gmond
六、安装过程中遇到的错误及解决办法:
1)在configure apache时,遇到下列错误:
configure: error: Cannot use an external APR with the bundled APR-util
原因是apr和apr-util版本过低,下载并安装最新版,如下:
wget tar -zxvf apr-1.4.5.tar.gz cd apr-1.4.5 ./configure && make && make install调整lib库的位置:
vi /etc/ld.so.conf.d/libapr.conf,添加/usr/local/apr/lib,运行/sbin/ldconfig -v
apr-util的安装参考上述apr的安装过程。
下载地址:wget
2)Ganglia configure失败:
Checking for apr
checking for apr-1-config... no
configure: error: apr-1-config binary not found in path
解决:
yum -y install apr-devel
3)Ganglia configure出错:
libpcre not found, specify --with-libpcre=no to build without PCRE support
pcre是perl 兼容的正规表达式库,在使用正则匹配时会很用。
pcre安装:
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.12.tar.bz2 tar -jxvf pcre-8.12.tar.bz2 cd pcre-8.12 ./configure && make && make install调整lib库的位置:
vi /etc/ld.so.conf.d/libpcre.conf,添加:/usr/local/lib,然后/sbin/ldconfig -v
4)Ganglia make出错:
/usr/bin/ld: /usr/local/lib/libconfuse.a(confuse.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libconfuse.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [libganglia.la] Error 1
make[2]: Leaving directory `/usr/local/ganglia-3.1.7/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/ganglia-3.1.7'
make: *** [all] Error 2
解决:
据网上资料,这个错误是因为在编译libconfuse时,需要指定特殊的选项:CFLAGS=-fPIC --disable-nls
重新编译libconfuse,并调整lib库:
./configure CFLAGS=-fPIC --disable-nls && make && make install5)Ganglia访问失败:
There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Permission denied
解决:
需要关闭selinux:vi /etc/selinux/config,把SELINUX=enforcing改成SELINUX=disable;需要重启机器。
可以使用命令setenforce 0来关闭selinux而不需要重启,刷新页面,即可访问!但此方法只是一权宜之计。要想永久修改selinux设置,还是要使用第一种方法。