來源: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了