您的位置:首页 > 运维架构

集群监控工具ganglia

2013-12-26 21:59 423 查看
来源:http://bbs.51cto.com/thread-878166-1.html

Ganglia是一款非常不错的监控软件,它可以对当前的系统软硬件进行全面的监控,特别适合集群的监控,可以对各个节点以及整个集群进行全面的监控。下面来说一下环境的搭建。
说明:操作系统rhel5.4
注意:安装系统,选择安装的软件包时不要默认安装,选择“自定义”。然后在development里面全部都勾选上,否则在安装源码包的时候会有很多报错。

环境搭建:LAMP的搭建用rpm包就可以了,不需要源码包。
1.
搭建一个本地yum库
编辑yum配置文件: vi
/etc/yum.repos.d/rhel-debuginfo.repo内容如下:
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debugbaseurl=file:///mnt/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
2.
挂在光盘到/mnt:

mount

/dev/hdc

/mnt
3.
执行yum update 来 升级yum库。
4.
用yum安装apache,mysql和php等,命令如下
yum -y install httpd mysql mysql-server mysql-connector-odbc
yum -y install php php-mysql php-common php-pdo

5.
安装绘图工具:rrdtool

./configure 

--prefix=/usr/local/rrdtool&&make&&make install

ln -s /usr/local/rrdtool/include/rrd.h /usr/include/rrd.h
ln -s /usr/local/rrdtool/lib/librrd.a /usr/lib/librrd.a

6.
安装ganglia
./configure --prefix=/usr/local/ganglia

--sysconfdir=/etc/ganglia 

--with-gmetad
如果该步骤没有报错,会出现由字符组成的ganglia,让你输入make来编译,当然在这里一般都会有报错:

(如果有报错,注意下面的提示),然后make;make install就可以了

温馨提示:其中可能会报错:
configure: errorr: apr-1-config binary not found in path

解决方法:
yum –y install

apr
yum -y install apr-util*

报错
libconfuse not found
解放方法:
安装libconfuse-2.5-4.el5.i386.rpm libconfuse-devel-2.5-4.el5.i386.rpm(如果是64位的操作系统,要下载64位的软件包)
7.如果软件安装成功的话,做下面的步骤(提示:下面的命令可以同时拷贝,粘贴一下就可以了,哈哈)
cd /soft/ganglia-3.1.1/

mkdir -p /var/www/html/ganglia/

cp -a web/* /var/www/html/ganglia/

#网页内容
cp gmetad/gmetad.init /etc/rc.d/init.d/gmetad

#下面四步是添加系统服务
cp gmond/gmond.init /etc/rc.d/init.d/gmond
chkconfig --add gmetad

chkconfig --add gmond 
mkdir /etc/ganglia

#生成被监控端的配置文件
gmond/gmond -t | tee /etc/ganglia/gmond.conf

&>/dev/null
cp gmetad/gmetad.conf /etc/ganglia/

#生成服务器端的配置文件
mkdir -p /var/lib/ganglia/rrds

#存放rrdtool数据的目录
chown nobody:nobody /var/lib/ganglia/rrds

7.
gmetad.conf是服务器端的配置文件,其中里面最重要的参数是data_source,他是来定义被监控端的。例如:data_source
"db1"

192.168.10.1
db1表示集群的名字,后面的ip是是被监控端的ip。Ok,这时候服务器端就可以启动了。
service gmetad restart
注意:这里会有报错:
Starting GANGLIA gmond: [root@localhost rrdtool-1.4.3]# service gmond restart
Shutting down GANGLIA gmond:

[FAILED]
Starting GANGLIA gmond:
再执行一次还是这样的结果
解决方法:
修改/etc/init.d/gmetad
把GMETAD=/usr/sbin/gmetad
改为:GMETAD=/usr/local/ganglia/sbin/gmetad
9.启动客户端。
注意这里会有两个报错:
解决方法:
1)修改/etc/init.d/gmond
把GMOND=/usr/sbin/gmond
修改为GMOND=/usr/local/ganglia/sbin/gmond

报错2:(一般虚拟机里面会报这个错,真实环境里面不会)
/usr/local/ganglia/sbin/gmond[31101]: Error creating multicast server mcast_join=239.2.11.71 port=8649 mcast_if=NULL family='inet4'.
Exiting.
2)解决方法:
vi /etc/sysconfig/network-scripts/route-eth0
内容:239.2.11.71 dev eth0
重启network:

service network restart
10.启动apache.

service httpd start
访问http://服务器ip/ganglia就ok了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: