環境: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檔案同樣會有安裝方法
l 安裝
#perlMakefile.PL
此時會提示錯誤,需要下載下傳安裝mod_speedycgi和perl-CGI-SpeedyCGI的rpm包
可以在ftp://195.220.108.108上下載下傳
#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
l 安裝gettext
#tar xf gettext-0.18.tar.gz
#cd gettext-0.18/
#./configure
#make &&make install
l 安裝popt
# tar xfpopt-1.14.tar.gz
# cd popt-1.14/
#./configure
#make &&make install
l 安裝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服務并存
至此安裝配置完成,通路http://IP/smokeping 即可