CentOS6.2 上搭建smokeping

一    介紹
smokeping是rrdtool的作者Tobi Oetiker的作品,所以它在圖形顯示方面有很大優勢,也是一個很有特點的opensource工具:
多種探測方式,包括fping、echoping、dig、curl等。


二    安裝環境


虛擬機版本:    VMware Workstation 8.0.4 build-744019

OS 版本 :    CentOS 6.2 i686

IP 地址:192.168.1.115


三    安裝步驟

  a.查看系統版本及內核

wKioL1PvVn7S5AxAAAHs45-LQ-Q265.jpg

  ##################################################

 b. 查看selinux是否關閉

wKiom1PvVYSzK6E8AAD1CPwUhKk110.jpg

  #################################################

  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在附件中,可以下載查看。

            wKiom1PvVhji_Dq0AARHXjE2rrI794.jpg    

    


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章