最近安裝Ganglia,由於之前Linux基礎基本爲0,因此費了很大的周折。最後在失敗了好多次之後終於看到了夢寐以求的web界面。下面總結下這幾天來的工作。
ganglia是一個監控軟件,他包含三部分:Gmond,Gmetad和Gweb。在需要監控的主機上安裝Gmond,他會採集當前主機上的一些信息;Gmetad部署在服務器端,它輪訓主機,收集Gmond採集的主機信息,然後存在在rrdtool數據庫中;Gweb是一個前臺顯示的界面,他讀取Gmetad保存的rrd文件,顯示在web界面上。
部署規劃:
主機 | IP |
Leo | 192.168.137.101(客戶端) |
Sherry | 192.168.137.66(服務器端) |
安裝步驟:
1,依賴包的安裝
yum -y install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpm-build glib2-devel dbus-devel freetype-devel fontconfig-devel gcc-c++ expat-devel python-devel libXrender-devel pkgconfig
如果安裝過程中,沒有出錯,則可以正常進行下一步,如果出現錯誤,可能會影響後面的安裝過程。
安裝rrdtools
1
2
3
4
5
6
7
8
|
cd /usr/src/ wget http: //oss .oetiker.ch /rrdtool/pub/rrdtool-1 .4.8. tar .gz tar zxvf rrdtool-1.4.8. tar .gz cd rrdtool-1.4.8 . /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 |
/usr/local/rrdtool/bin/rrdtool
安裝expat依賴
1
2
3
4
5
6
7
8
9
|
wget http: //downloads.sourceforge.net/project/expat/expat/2.0.1/expat-2.0.1.tar.gz tar zxvf expat- 2.0 . 1 .tar.gz cd expat- 2.0 . 1 ./configure --prefix=/usr/local/expat make && make install 對於 64 位操作系統,需要手動的拷貝下動態鏈接庫到lib64下 cd /usr/local/expat/ mkdir /usr/local/expat/lib64 cp -a /usr/local/expat/lib/* /usr/local/expat/lib64/ |
安裝apr以及apr-util
1
2
3
4
5
6
7
8
9
10
11
|
wget https: //archive .apache.org /dist/apr/apr-1 .5.0. tar .gz tar zxvf apr-1.5.0. tar .gz cd apr-1.5.0 . /configure --prefix= /usr/local/apr make && make install cd .. wget https: //archive .apache.org /dist/apr/apr-util-1 .5.1. tar .gz tar xf apr-util-1.5.1. tar .gz cd apr-util-1.5.1 . /configure --with-apr= /usr/local/apr --with-expat= /usr/local/expat make && make install |
/bin/cp -f /usr/local/apr/include/apr-1/* /usr/local/apr/include/ mkdir -p /usr/local/apr/lib64 /bin/cp -a -f /usr/local/apr/lib/* /usr/local/apr/lib64/
安裝confuse
1
2
3
4
5
|
wget http: //download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz tar xf confuse- 2.7 .tar.gz cd confuse- 2.7 ./configure CFLAGS=-fPIC --disable-nls --prefix=/usr/local/confuse make && make install |
mkdir -p /usr/local/confuse/lib64 /bin/cp -a -f /usr/local/confuse/lib/* /usr/local/confuse/lib64/
安裝pcre
1
2
3
4
5
6
|
cd /usr/src/ wget http: //ftp.exim.llorien.org/pcre/pcre-8.34.tar.gz tar zxvf pcre- 8.34 .tar.gz cd pcre- 8.34 ./configure make && make install |
安裝ganglia
1
2
3
4
|
cd ganglia-3.2.0 . /configure --prefix= /usr/local/ganglia --with-librrd= /usr/local/rrdtool --with-libapr= /usr/local/apr --with-libexpat= /usr/local/expat \ --with-libconfuse= /usr/local/confuse --with-gmetad -- enable -gexec -- enable -status --sysconfdir= /etc/ganglia make && make install |
服務端配置
mkdir -p /var/lib/ganglia/rrds mkdir -p /var/lib/ganglia/dwoo chown -R apache:apache /var/lib/ganglia
data_source "suc" 192.168.1.3 注意:這裏的192.168.1.3是被監控端的iP地址。 setuid_username "apache"
/bin/cp -f /usr/src/ganglia-3.6.0/gmetad/gmetad.init /etc/init.d/gmetad /bin/cp -f /usr/local/ganglia/sbin/gmetad /usr/sbin/gmetad chkconfig --add gmetad
service gmetad start
error
while
loading
shared libraries: libpcre.so.
1
:
cannot
open shared object file: No such file or directory
在啓動ganglia服務
service gmetad start
服務端的WEB配置
mkdir /var/www/html/ganglia cp -a -f /usr/src/ganglia-3.2.0/web/* /var/www/html/ganglia
define("RRDTOOL", "/usr/local/rrdtool/bin/rrdtool");
客戶端的配置
安裝ganglia客戶端
1
2
3
4
|
cd ganglia- 3.2 . 0 ./configure --prefix=/usr/local/ganglia -- with -libapr=/usr/local/apr -- with -libexpat=/usr/local/expat \ -- with -libconfuse=/usr/local/confuse --enable-gexec --enable-status make && make install |
/bin/cp -f /usr/src/ganglia-3.2.0/gmond/gmond.init /etc/init.d/gmond /bin/cp -f /usr/local/ganglia/sbin/gmond /usr/sbin/gmond chkconfig --add gmond /usr/src/ganglia-3.2.0/gmond/gmond --default_config > /etc/ganglia/gmond.conf
error
while
loading
shared libraries: libpcre.so.
1
:
cannot
open shared object file: No such file or directory
vi /etc/ganglia/gmond.conf
cluster { name="suc" owner="apache" latlong="unspecified" url="unspecified" }
service gmond start
globals { daemonize = yes setuid = yes user = nobody debug_level = 100 }
i=$1 scp /usr/sbin/gmond $i:/usr/sbin/gmond ssh $i mkdir -p /etc/ganglia/ ssh $i mkdir -p /usr/local/ganglia/lib64 ssh $i mkdir -p /usr/local/expat/lib scp /etc/ganglia/gmond.conf $i:/etc/ganglia/ scp /etc/init.d/gmond $i:/etc/init.d/ scp -r /usr/local/ganglia/lib64/* $i:/usr/local/ganglia/lib64/ scp /usr/local/expat/lib/libexpat.so.1 $i:/usr/local/expat/lib/libexpat.so.1 scp /usr/lib64/libapr-1.so.0 $i:/usr/lib64/