一 介紹
smokeping是rrdtool的做者Tobi Oetiker的做品,因此它在圖形顯示方面有很大優點,也是一個頗有特色的opensource工具:
多種探測方式,包括fping、echoping、dig、curl等。html
二 安裝環境linux
虛擬機版本: VMware Workstation 8.0.4 build-744019apache
OS 版本 : CentOS 6.2 i686centos
IP 地址:192.168.1.115瀏覽器
三 安裝步驟bash
a.查看系統版本及內核
dom
##################################################curl
b. 查看selinux是否關閉ide
#################################################
工具
c. 本文使用YUM安裝其餘資源包,編譯安裝smokeping方式。apt.sw.be這個第三方軟件倉庫,更新很快,資源很全。
下載跟系統適合的對應rpmforge RPM包進行安裝,這樣安裝好rpmforge包後,在/etc/yum.repos.d/目錄下會生成.repo文件
[root@localcentos upload]# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm [root@localcentos upload]# rpm -ivh rpmforge-release-0.5.3-1.el6.rf.i686.rpm [root@localcentos upload]# yum clean [root@localcentos upload]# yum makecache
############################################
d.安裝rrdtool與依賴庫
[root@localcentos yum.repos.d]# yum install perl perl-Net-Telnet perl-Net-DNS perl-LDAP perl-libwww-perl perl-RadiusPerl perl-IO-Socket-SSL perl-Socket6perl-CGI-SpeedyCGI perl-FCGI perl-CGI-SpeedCGI perl-Time-HiRes perl-ExtUtils-MakeMaker perl-RRD-Simple rrdtool rrdtool-perl curl fping echoping httpd httpd-devel gcc make wget libxml2-devel libpng-devel glib pango pango-devel freetype freetype-devel fontconfig cairo cairo-devel libart_lgpl libart_lgpl-devel mod_fastcgi screen
#######################################################
e.安裝smokeping
[root@localcentos upload]# wget http://oss.oetiker.ch/smokeping/pub/smokeping-2.6.9.tar.gz [root@localcentos upload]# tar zxvf smokeping-2.6.9.tar.gz [root@localcentos smokeping-2.6.9]# ./configure --prefix=/usr/local/smokeping
*******編譯過程當中checking checking for perl module 'Config::Grammar'... Failed,這是缺乏Config::Grammar這個模塊(這個模塊的做用是生成smokeping的配置文件,運行下面腳本會自動從網上下載安裝須要的模塊。不然在smokeping的安裝目錄下的etc目錄下缺乏config.dist這個文件。
*******備註:下面幾個模塊是安裝smokeping缺一不可的
FCGI (The module for supporting FastCGI operation.)
CGI, CGI::Fast (Perl CGI/FastCGI support. Might already be installed localy.)
Config::Grammar (The configuration file parser used in smokeping)
LWP (The master/slave functionality introduced a dependency on LWP::UserAgent from the libwww-perl (also known as LWP) library. The module is required even if the master/slave mode is not enabled)
[root@localcentos smokeping-2.6.9]# ./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty [root@localcentos smokeping-2.6.9]# /usr/bin/gmake install ***** smokeping 安裝完畢 **********
##################################################
f.安裝中文語言支持
[root@localcentos smokeping-2.6.9]# yum groupinstall "Chinese Support"
###################################################
g.配置smokeping
1.建立cache . data . var目錄
[root@localcentos smokeping-2.6.9]# cd /usr/local/smokeping/ [root@localcentos smokeping]# mkdir cache data var [root@localcentos smokeping]# ll 總用量 36 drwxr-xr-x. 2 root root 4096 8月 17 02:13 bin drwxr-xr-x. 2 root root 4096 8月 17 02:19 cache drwxr-xr-x. 2 root root 4096 8月 17 02:19 data drwxr-xr-x. 3 root root 4096 8月 17 02:14 etc drwxr-xr-x. 3 root root 4096 8月 17 02:14 htdocs drwxr-xr-x. 3 root root 4096 8月 17 02:14 lib drwxr-xr-x. 3 root root 4096 8月 17 02:14 share drwxr-xr-x. 6 root root 4096 8月 17 02:11 thirdparty drwxr-xr-x. 2 root root 4096 8月 17 02:19 var
2.建立日誌文件
[root@localcentos smokeping]# touch /var/log/smokeping.log
3.受權
[root@localcentos smokeping]# chown apache:apache cache data var [root@localcentos smokeping]# chown apache:apache /var/log/smokeping.log
4.修改配置文件
[root@localcentos smokeping]# touch /var/log/smokeping.log [root@localcentos smokeping]# chown apache:apache cache data var [root@localcentos smokeping]# chown apache:apache /var/log/smokeping.log [root@localcentos smokeping]# cd /usr/local/smokeping/htdocs/ [root@localcentos htdocs]# mv smokeping.fcgi.dist smokeping.fcgi [root@localcentos htdocs]# cd /usr/local/smokeping/etc/ [root@localcentos etc]# mv config.dist config [root@localcentos etc]# vi config
修改配置文件如下內容
*** General *** cgiurl = http://some.url/smokeping.cgi 將some.url改成你的IP或域名 cgiurl = http://192.168.1.115/smokeping.cgi 這裏改成本機器的IP *** Database *** step = 300 將300改成60,這個是檢測的時間 pings = 20 這個不用修改 *** Presentation *** charset = zh_CN.UTF-8 在*** Presentation ***這個下面添加這行 *** Probes *** binary = /usr/sbin/fping 根據實際狀況該此處fping程序路徑(依實際狀況而定,不能照搬) ######修改binary參數時要依據實際狀況改,不能照搬 ######[root@localcentos etc]# type fping ######fping is /usr/sbin/fping ######運行上面的命令肯定fping這個二進制程序的位置
5.配置完成以後修改密碼文件
[root@localcentos etc]# chmod 600 /usr/local/smokeping/etc/smokeping_secrets.dist
##########修改apache配置文件 httpd.conf ,讓監控數據能夠在瀏覽器上呈現。
修改配置httpd.conf文件
[root@localcentos etc]# vi /etc/httpd/conf/httpd.conf 在此文件最後位置加入以下訪問控制參數 #########changed by kl 2014/08/15############## Alias /cache "/usr/local/smokeping/cache/" Alias /cropper "/usr/local/smokeping/htdocs/cropper/" Alias /smokeping "/usr/local/smokeping/htdocs/smokeping.fcgi" <Directory "/usr/local/smokeping"> AllowOverride None Options All AddHandler cgi-script .fcgi .cgi AllowOverride AuthConfig Order allow,deny Allow from all AuthName "Smokeping" AuthType Basic AuthUserFile /usr/local/smokeping/htdocs/htpasswd Require valid-user DirectoryIndex smokeping.fcgi </Directory>
6.設置登陸賬號與密碼
[root@localcentos etc]# vi /etc/httpd/conf/httpd.conf [root@localcentos etc]# cd /usr/local/smokeping/htdocs/ [root@localcentos htdocs]# htpasswd -c /usr/local/smokeping/htdocs/htpasswd admin New password: Re-type new password: Adding password for user admin
7.設置smokeping開機啓動
[root@localcentos htdocs]# echo "/usr/local/smokeping/bin/smokeping -- logfile=/var/log/smokeping.log 2>&1 &" >> /etc/rc.local
8.啓動http和smokeping服務
[root@localcentos htdocs]# service httpd restart 中止 httpd: [失敗] 正在啓動 httpd:httpd: apr_sockaddr_info_get() failed for localcentos.localdomain httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName [肯定]
修改httpd.conf文件
276 #ServerName www.example.com:80 -------> 去掉#註釋 我更改成我本身的 ServerName 192.168.1.115:80
[root@localcentos htdocs]# service httpd restart [root@localcentos htdocs]# chkconfig --level 25 httpd on [root@localcentos htdocs]# /usr/local/smokeping/bin/smokeping --logfile=/var/log/smokeping.log 2>&1 &
OK,打開頁面看看http://192.168.1.115/smokeping 輸入用戶名和密碼 看看
h.將本機歸入監控 [root@localcentos ~]# vi /usr/local/smokeping/etc/config 在此文件*** Targets *** 最末尾加入 ++ Localhost menu = Localhos title = Localhost alerts = someloss #slaves = boomer slave2 host = 192.168.1.115 加入上面targets後,須要重啓smokeping進程才能生效,不然會報錯的 [root@localcentos ~]# ps -ef | grep smokeping root 1585 1 0 04:13 ? 00:00:00 /usr/local/smokeping/bin/smokeping [FPing] root 1965 1622 0 04:26 pts/0 00:00:00 grep smokeping [root@localcentos ~]# kill -HUP 1585
** 每次加入監控點的時候都須要重啓smokeping進程,切記。
四.後記
下面是實際配置好的例子,smokeping配置文件config和httpd.conf在附件中,能夠下載查看。