Smokeping安裝部署

穩定性檢測工具smokeping安裝配置和使用方法

Smokeping介紹html

是對IDC網絡質量,穩定性等最好的檢測工具,包括常規的 pingdig,echoping,curl等,能夠監視www服務器性能,監視dns查詢性能,監視ssh性能等。底層也是 rrdtool 作支持,特色是畫的圖很是漂亮,網絡丟包和延遲用顏色和陰影來表示。node

smokeping的優勢:linux

1)最佳的畫圖功能,延遲和丟包用顏色和陰影表示很直觀。git

2)免費和開源,做者是MRTG和RRDtool做者。web

3)支持主從的分佈式模式。數據庫

4)能夠自定義報警功能。apache

下載頁面vim

http://oss.oetiker.ch/smokeping/pub/瀏覽器

 

1.1安裝smokeping緩存

[root@oracle-standby ~]# cat /etc/redhat-release              #查看服務器信息

CentOS release 6.7 (Final)

[root@oracle-standby ~]# uname -r

2.6.32-573.el6.x86_64

[root@oracle-standby ~]# yum -y install perl perl-Net-Telnet perl-Net-DNS perl-LDAP perl-libwww-perl perl-RadiusPerl perl-IO-Socket-SSL perl-Socket6 perl-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              #經過yum安裝所依賴的庫以及環境

 

[root@oracle-standby ~]# cd /usr/local/src/  

[root@oracle-standby src]# wget http://oss.oetiker.ch/smokeping/pub/smokeping-2.6.9.tar.gz

[root@oracle-standby src]# tar xf smokeping-2.6.9.tar.gz

[root@oracle-standby src]# cd smokeping-2.6.9

[root@oracle-standby smokeping-2.6.9]# ./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty

[root@oracle-standby smokeping-2.6.9]# ./configure --prefix=/usr/local/smokeping  #編譯smokeping到/usr/local

[root@oracle-standby smokeping-2.6.9]# /usr/bin/gmake install

 

[root@oracle-standby smokeping-2.6.9]#  cd /usr/local/smokeping/

[root@oracle-standby smokeping]# mkdir cache data var 

##這個data用於存放rrd數據庫,因爲要存放較長時間,可能會比較大,建議放到一個有足夠空間的地方。

##cache存放緩存的圖片

 

[root@oracle-standby smokeping]# touch /var/log/smokeping.log

[root@oracle-standby smokeping]# chown apache.apache cache/ data/ var/ /var/log/smokeping.log

[root@oracle-standby smokeping]# cd /usr/local/smokeping/htdocs/     #進入smokeping下htdocs目錄

[root@oracle-standby htdocs]# mv smokeping.fcgi.dist smokeping.fcgi   #修改smokeping文件名

[root@oracle-standby ~]# mv /usr/local/smokeping/etc/config.dist  /usr/local/smokeping/etc/config

#修改smokeping下etc目錄smokeping

1.2修改smokeping配置文件

[root@oracle-standby ~]#  sed -i 's#cgiurl   = http://some.url/smokeping.cgi#cgiurl   = http://10.2.2.249/smokeping.cgi#g' /usr/local/smokeping/etc/config

 

[root@oracle-standby ~]# sed -i 's#300#500#g' /usr/local/smokeping/etc/config  #默認檢測時間300秒修改成500秒 

[root@oracle-standby ~]# sed -i 's#20#100#g' /usr/local/smokeping/etc/config  #默認ping20次,修改成500秒ping100次

解釋:

*** Database ***

 

step     = 500

pings    = 100

Database RRD數據庫配置。step和pings這兩個參數要在啓動smokeping以前配置好,若是在smokeping啓動後再配置這兩個參數,須要把原來的rrd文件都刪除,而後再啓動smokeping才能夠。因此這個必定要先配置好。默認是step=300 pings=20 是每300s內執行20次ping的動做。

 

[root@oracle-standby ~]# vim /usr/local/smokeping/etc/config    #在presentation添加utf-8中文字符集

*** Presentation ***

charset = utf-8

 

[root@oracle-standby ~]#  chmod 600 /usr/local/smokeping/etc/smokeping_secrets.dist #修改密碼權限爲root只讀

 

1.3修改apache配置文件 

[root@oracle-standby ~]# htpasswd -c /usr/local/smokeping/htdocs/htpasswd peng #設置登陸密碼認證  經過apache自帶驗證功能

New password:

Re-type new password:

Adding password for user peng

 

修改apache的配置

# DocumentRoot: The directory out of which you will serve your

# documents. By default, all requests are taken from this directory, but

# symbolic links and aliases may be used to point to other locations.

#

DocumentRoot "/var/www/html"   #在這行下面添加以下---標紅的表明密碼驗證

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

 

Order allow,deny

 

Allow from all

 

AuthName "Smokeping"

 

AuthType Basic

 

AuthUserFile /usr/local/smokeping/htdocs/htpasswd

 

Require valid-user

 

DirectoryIndex smokeping.fcgi

</Directory>

 

1.4設置smokeping啓動腳本

[root@oracle-standby ~]# cat /etc/init.d/smokeping

#!/bin/bash

#

# chkconfig: 2345 80 05

# Description: Smokeping init.d script

# Get function from functions library

 

. /etc/init.d/functions

 

# Start the service Smokeping

 

function start() {

echo -n "Starting Smokeping: "

      /usr/local/smokeping/bin/smokeping >/dev/null 2>&1

 

### Create the lock file ###

 

      touch /var/lock/subsys/smokeping

success $"Smokeping startup"

echo

}

 

# Restart the service Smokeping

 

function stop() {

echo -n "Stopping Smokeping: "

kill -9 `ps ax |grep "/usr/local/smokeping/bin/smokeping" |grep -v grep | awk '{ print $1 }'` >/dev/null 2>&1

 

### Now, delete the lock file ###

rm -f /var/lock/subsys/smokeping

success $"Smokeping shutdown"

echo

}

 

#Show status about Smokeping

 

function status() {

NUM="`ps -ef|grep smokeping|grep -v grep|wc -l`"

if [ "$NUM" == "0" ];then

echo "Smokeping is not run"

else

echo "Smokeping is running"

fi

}

 

### main logic ###

 

case "$1" in

    start)

        start

        ;;

stop)

        stop

        ;;

status)

        status

        ;;

restart|reload)

        stop

        start

;;

*)

   echo $"Usage: $0  {start|stop|restart|reload|status}"

   exit 1

esac

   exit 0

 

1.5啓動服務以及訪問smokeping

[root@linux-node2 ~]# chmod 755 /etc/init.d/smokeping   

[root@linux-node2 ~]# chkconfig --add smokeping       

[root@linux-node2 ~]# chkconfig smokeping on

[root@linux-node2 ~]# chkconfig httpd on   

[root@linux-node2 ~]# /etc/init.d/httpd restart    

[root@linux-node2 ~]# /etc/init.d/smokeping restart  

 

查看進程:

[root@oracle-standby ~]# ps -ef |grep smoke

root     44447     1  0 13:24 ?        00:00:00 /usr/local/smokeping/bin/smokeping [FPing]

 

1.6打開檢測主機的Web頁面

在Web瀏覽器裏輸入 http://您的監控主機IP/smokeping,出現以下登陸界面:

1.7添加須要監控的網站和節點

注意事項:

1)在/usr/local/smokeping/etc/config中添加

2)smokeping就這點很差,添加節點不能在前臺Web頁面添加,必定要在後臺的配置文件中添加。

3)修改/usr/local/smokeping/etc/config 後,必須重啓smokeping 程序,配置纔會生效  

4)smokeping 會根據配置文件config在/usr/local/smokeping/data 之下添加moniter文件夾,其下包含website子文件夾

     添加監控節點示例:注意+是第一層,++是第二層,+++ 是第三層

咱們這裏的配置以下:

[root@oracle-standby var]# tail -60 /usr/local/smokeping/etc/config

 

+CRM

menu = 各機構CRM業務

title = 監控統計

 

++xian

menu = 西安網絡監控

title = 西安網絡監控列表

host = /CRM/xian/xian-app /CRM/xian/xian-rsync /CRM/xian/xian-rule /CRM/xian/xian-db

 

+++ xian-app

menu = 西安app

title = 西安app

alerts = someloss

host = x.x.x.x

 

 

+++ xian-rsync

menu = 西安rsync

title = 西安rsync

alerts = someloss

host = x.x.x.x

 

 

+++ xian-rule

menu = 西安rule

title = 西安rule

alerts = someloss

host = x.x.x.x

 

 

+++ xian-db

menu = 西安db

title = 西安db

alerts = someloss

host = x.x.x.x

 

 

 

++zhengzhou

menu = 鄭州網絡監控

title = 鄭州網絡監控列表

host = /CRM/zhengzhou/zhengzhou-app

 

 

+++ zhengzhou-app

menu = 鄭州app

title = 鄭州app

alerts = someloss

host = x.x.x.x

 

重啓smokeping服務,並在瀏覽器上輸入:http://10.2.2.249/smokeping

圖表參數說明

(1) RTT(Round-Trip Time):簡單說它是一個數據包在網絡上兩點中間往返一次的時間。是影響TCP性能和表徵網絡運行情況的重要參數。在網絡中實時、準確地測量大量TCP設備和系統的RTT參數是網絡管理的重要環節之一。Smokeping就是這樣的自動測試系統,它向目標設備和系統發送各類類型的測試數據包,測量、記錄和展現RTT。

(2) Median RTT:它是中間數並非平均值。Smokeping有多種類型的探針,探針在默認的設置下,每300秒向目標設備發送20個探測數據包。假如這20個數據包都返回的話,它就記錄下了20個RTT,那麼Median RTT就是第十個包的RTT;若是有5個包丟失的話,那麼Median RTT就是第八個返回的包的RTT值。

(3) Avg RTT:它是每個測試回合中全部RTT的算術評價值。

(4) Avg pkt loss:丟包率。

(5) Probe:100 ICMP Echo Pings(56 Bytes)every 500

每個綠色的短橫線都是一個測試回合500秒內用ping測試100次。綠色畫出的是中間數的位置,一個回合中的其它值都在它附近被以灰度的形式被刻畫;

 

查看網絡情況

Smokeping能夠方便地查看所監控的網絡情況:

能夠很具體在圖上看出網絡的延遲及丟包等情況;

具備Last 3 Hours,Last 30 Hours,Last 10 Days,Last 400 Days圖像,還能夠經過輸入具體的時段來查看圖像,以下圖:

Last 3 Hours 最近的3小時 

Median Ping RTT (506.2 ms avg)中間數的平均值是10.2毫秒。若是是綠色的短橫線,說明一個週期內全部的包都返回都有RTT的時間記錄下來;若是是藍色的短橫線則說明有2個包丟失。 

Packet Loss:丟包率。從上圖中咱們看出全都是綠線,因此丟包率固然是0。

Probe:10 ICMP Echo Pings(56 Bytes)every 60s 

  這張圖是2012-12-13 09:47:27生成的。每個綠色的短橫線都是一個測試回合60秒內用echoping測試icmp協議10次。

每一個有顏色的點描述的是median rrt(中間數)時間,灰色的範圍,是描述每一個包返回的時間,灰色範圍越小,表示每一個包返回的時間較統一,說明網絡越平穩。顏色越深的地方,表示包返回的時間集中在那一塊。RTT曲線的起伏還顯示了網絡的負載狀況。 

全部單位都是:ms

在「Charts」下能夠查看 「Top Packet Loss」,「Top Max Roundtrip Time」,「Top Median Roundtrip Time」,「Top Standard Deviation狀況,這樣能夠至關方便地判斷哪裏的網絡有問題,從而能夠快速地做出處理。以下圖所示:

 

traceroute功能 

在smokeping的2.4版本開始加入了traceroute功能,但2.5開始,又將其移除了。

traceroute的使用方法以下:

在左邊欄目中選擇須要進行traceroute的主機,點擊網段右側的「*」進行測試。

 

測試結果如圖所示:

能夠看到從當前位置到目標位置的網絡追蹤的全部狀況。

 

參考文章:

http://mayulin.blog.51cto.com/blog/1628315/514397      

http://wenku.baidu.com/link?url=_-PZ_Ka-Me-q-icgrEXFRj8CLqCwHTpv_o3DE50FUjGhGs05DTve1TrFJmkpz1Gd5ZbMQgit3_QkU84tU-IAJYqkrklHPv5Sp0NTfa3wXVq

http://www.tuicool.com/articles/6vqArm

相關文章
相關標籤/搜索