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
如果该步骤没有报错,则显示
(如果有报错,注意下面的提示),然后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,如图