1. 程式人生 > >centos6.5 下smokeping的安裝

centos6.5 下smokeping的安裝

環境:Centos6.5_x86_64

1.       關閉selinux和iptables

#setenforce 0

#vim /etc/sysconfig/selinux

將SELINUX改為disabled

#/etc/ini.d/iptables stop

2.       安裝環境包

a)        # yum –y groupinstall “Developmenttools”

b)        yum -y install libxml2-devellibpng-devel glib pango pango-devel freetype freetype-devel fontconfig cairocairo-devel libart_lgpl libart_lgpl-devel perl perl-Net-Telnet perl-Net-DNSperl-LDAP perl-libwww-perl perl-RadiusPerl perl-IO-Socket-SSL perl-Socket6perl-CGI-SpeedyCGI rrdtool-perl

其中glib、perl-RadiusPerl、perl-CGI-SpeedyCGI需要手動安裝

c)        安裝glib

l  下載glib壓縮包:glib-2.34.2.tar.xz

#tar -xf glib-2.34.2.tar.xz

#cd glib-2.34.2

#./configure

#make &&make install

此時可能會報錯,缺少zlib和libffi的開發包(devel),yum安裝一下即可,重新編譯glib即可。

d)       安裝RadiusPerl

l  下載RadiusPerl壓縮包:RadiusPerl-0.22.tar.gz

#tar –xvf RadiusPerl-0.22.tar.gz

#cdAuthen-Radius-0.22/

檢視此目錄下的INSTALL檔案,裡面有介紹安裝方法

#perlMakefile.PL

如果提示錯誤如缺少HexDump,可以在http://search.cpan.org/搜尋到相關的perl編寫的軟體包,進而下載編譯即可

#make

#make test                //測試一下,如果提示ok表示成功

#make install

e)        安裝CGI-SpeedyCGI

l  下載CGI-SpeedyCGI軟體包:CGI-SpeedyCGI-2.22.tar.gz

#tar xf CGI-SpeedyCGI-2.22.tar.gz

#cd CGI-SpeedyCGI-2.22/

檢視此目錄下的README檔案同樣會有安裝方法

安裝

#perlMakefile.PL

         此時會提示錯誤,需要下載安裝mod_speedycgi和perl-CGI-SpeedyCGI的rpm包

#lftp195.220.108.108

進入/linux/epel/6/x86_64目錄,下載mod_speedycgi和perl-CGI-SpeedyCGI的rpm包

彼此的版本要對應。本環境下用的是perl-CGI-SpeedyCGI-2.22-8.el6.x86_64.rpm

和mod_speedycgi-2.22-8.el6.x86_64.rpm

由於此環境是centos6-x86_64系統,因此進入/linux/epel/6目錄

#rpm –ivh perl-CGI-SpeedyCGI-2.22-8.el6.x86_64.rpm

#rpm –ivh mod_speedycgi-2.22-8.el6.x86_64.rpm

#perlMakefile.PL

#make

#make test                //提示ok表示成功

#make install

3.       下載安裝rrdtool

下載rrdtool壓縮包:rrdtool.tar.gz

#tar xf rrdtool.tar.gz

#cdrrdtool-1.4.8/

#./configure –prefix=/usr/local/rrdtool

#make &&make install

預設rrdtool畫出的圖不支援中文,可以使用下面的方法

#cdrrdtool-1.4.8/

#sed -i's/setlocale(LC_NUMERIC, "C")/setlocale(LC_ALL,"zh_CN.gb2312")/g' src/rrd_graph.c

#yum -ygroupinstall "Chinese Support"

#wgethttp://mirror.centos.org/centos/6/os/x86_64/Packages/wqy-zenhei-fonts-common-0.9.45-3.el6.noarch.rpm

# rpm -ivhwqy-zenhei-fonts-common-0.9.45-3.el6.noarch.rpm

然後,重新編譯安裝rrdtool

4.       安裝smokeping依賴的軟體

Smokeping官網上都有提供smokeping依賴的軟體包的下載資源

a)       安裝cgilib

# tar xfcgilib-0.5.tar.gz

#cd cgilib-0.5/

#make

# cp libcgi.a/usr/local/lib

# cp cgi.h/usr/include

b)      安裝fping

#tar xf fping-3.10.tar.gz

#cd fping-3.10/

#./configure

#make

#make check

#make install

#whereis fping           //檢視fping命令的路徑

c)       安裝echoping

#tar xf echoping-5.2.0.tar.gz

#cd echoping-5.2.0/

#./configure

#make

#make test

遇到測試不成功資訊,按ctrl+c回到命令列,這是由於去燒popt支援,安裝popt還需要gettext支援。因此首先安裝gettext

安裝gettext

#tar xf gettext-0.18.tar.gz

#cd gettext-0.18/

#./configure

#make &&make install

安裝popt

# tar xfpopt-1.14.tar.gz

# cd popt-1.14/

#./configure

#make &&make install

安裝echoping

#cdechoping-5.2.0/

#./configure

#make &&make install

5.       安裝smokeping

#tar xf smokeping-2.6.9.tar.gz

#mv smokeping-2.6.9smokeping

#cd smokeping

#./configure –prefix=/usr/local/smokeping

編譯時會報錯提示缺少很多的擴充套件程式,會提示執行下面的操作

#./setup/build-perl-modules.sh/usr/local/smokeping/thirdparty

重新編譯

#./configure –prefix=/usr/local/smokeping

#gmake install

此處有可能會報錯往往是由於之前的環境沒有安裝好,缺少相關的軟體和模組,按照錯誤提示進行相應的軟體或模組的安裝,然後重新編譯即可

6.       配置smokeping

a)      修改bin目錄下的smokeping檔案

# cd/usr/local/smokeping/bin

#vim smokeping

修改use lib qw();為use libqw(/usr/local/rrdtool/lib/perl);

b)      重新命名htdocs目錄下的smokeping.fcgi.dist為smokeping.fcgi

# cd/usr/local/smokeping/htdocs

#mvsmokeping.fcgi.dist smokeping.fcgi

c)      修改etc目錄下的config檔案

# cd/usr/local/smokeping/etc

#cp config.distconfig

#vim config

配置檔案很容易看懂,按需修改即可。

其中,需要把fping命令的二進位制路徑修改為實際路徑:

binary = /usr/local/sbin/fping

step = 300 表示的是資料重新整理時間,預設是300s,可自行修改

監控主機是分層結構的,用+號表示

例如+第一層 ++第二層 +++第三層,可根據實際情況修改。

裝置名中不能有”.””-“存在

如果不做主從伺服器,可以把其中的slaves專案中的內容刪除。

另外,etc/examples目錄下面又很多分類的配置檔案例項,可以直接copy過來,修改其中內容即可

d)      建立存放那個資料檔案的目錄並修改許可權

#cd/usr/local/smokeping

#mkdir data varcache

#chmod –R 777./data ./var ./cache

#chmod 600/usr/local/smokeping/etc/smokeping_secrets.dist

e)      修改smokeping的目錄為apache執行使用者的屬主和屬組

直接修改屬主和屬組為apache即可

#chown –Rapache.apache /usr/local/smokeping

f)       建立smokeping的log檔案

#touch/var/log/smokeping.log

#chownapache.apache /var/log/smokeping.log

g)      修改http配置檔案

#vim/etc/httpd/conf/httpd.conf

在最後新增下面內容:

Alias /smokeping"/usr/local/smokeping/htdocs/smokeping.fcgi"

Alias /cache"/usr/local/smokeping/cache"

Alias /cropper"/usr/local/smokeping/htdocs/cropper/"

<Directory/usr/local/smokeping>

        AllowOverride None

       AddHandler cgi-script cgi fcgi

        Options ExecCGI

        Order allow,deny

        Allow from all

        DirectoryIndex smokeping.cgi

</Directory>

7.       啟動smokeping

#perl/usr/local/smokeping/bin/smokeping –logfile=/var/log/smokeping.log

Ps:可以建立smokeping的啟動指令碼,方便啟動,可以從網上搜索。

8.       設定開機啟動httpd服務

#/etc/init.d/httpdstart

#chkconfig httpdon

如果建立了smokeping的指令碼,也可以設定為開機啟動服務

#chkconfigsmokeping on

9.       開啟iptables

#/etc/init.d/iptables start

# iptables -A INPUT -p tcp -m state --state NEW -m tcp--dport 80 -j ACCEPT   //開放80埠

#/etc/init.d/iptables save|restart

Ps:暫時未發現如何設定selinux使它與smokeping服務並存