因工作需要,安裝了個smokeping系統!

因工作需要,安裝了個smokeping系統!

     最近,有個客戶老是擔心自己的專線質量有問題,特別是訪問外省網的問題。我回復說“大哥,現在國內的網絡ISP,一般只保證本地接入沒問題就可以了。誰都保證不了大網的問題”。但沒辦法,人家是客戶,怎麼也得做點功夫。於是,我決定搭個smokeping系統,然後設定幾個外省測試點,生成質量給他看。

     剛剛創建了一個技術交流羣:

     smokeping 學習QQ羣 交流QQ羣 研究QQ羣:154040577

     jffnms        學習QQ羣 交流QQ羣 研究QQ羣:154040577

    cacti            學習QQ羣 交流QQ羣 研究QQ羣:154040577

     歡迎加入!

 

安裝環境:centos 5.4

安裝步驟:

1、centos安裝,省略,我默認大家都會了。呵呵

2、yum update
更新一下系統軟件

3、更新一下安裝源
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
 

4、安裝httpd
yum install httpd

5、安裝探針
yum install rrdtool
yum install fping
yum install echoping
yum install curl
yum install perl perl-Net-Telnet perl-Net-DNS perl-LDAP perl-libwww-perl perl-RadiusPerl perl-IO-Socket-SSL perl-Socket6 perl-CGI-SpeedyCGI
 

5、下載安裝smokeping
wget http://oss.oetiker.ch/smokeping/pub/smokeping-2.4.2.tar.gz

//下載smokeping軟件,我是保存到/root目錄下的


tar zxvf smokeping-2.4.2.tar.gz
//解壓軟件包

mv smokeping-2.4.2 /opt/smokeping
//把軟件包移動到/opt目錄下,本軟件不需要安裝,直接解壓即可使用

cd /opt/smokeping
cd bin/
cp smokeping.dist smokeping


cd ../htdocs/
cp smokeping.cgi.dist smokeping.cgi
cp tr.cgi.dist tr.cgi
 

cd ../etc/
cp config.dist config
cp basepage.html.dist basepage.html
cp smokemail.dist smokemail
cp tmail.dist tmail
cp smokeping_secrets.dist smokeping_secrets
//到各目錄下建立文件

chmod 600 /opt/smokeping/etc/smokeping_secrets
//修改權限

6、修改配置文件:

1)vim /opt/smokeping/bin/smokeping
Replace this:
!/usr/sepp/bin/perl-5.8.4 -w
-*-perl-*- 
 
use lib qw(/usr/pack/rrdtool-1.2.23-mo/lib/perl);
use lib qw(lib); 
 
use Smokeping 2.004000; 
 
Smokeping::main("etc/config.dist"); 


 把以上紅色部分修改成如下加粗的部分:


!/usr/bin/perl -w
-*-perl-*- 
 
use lib qw(/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/RRDs/);
use lib qw(/opt/smokeping/lib); 
 
use Smokeping 2.004000; 
 
Smokeping::main("/opt/smokeping/etc/config"); 
  
2) vim /opt/smokeping/htdocs/smokeping.cgi

Replace this:
!/usr/sepp/bin/speedy -w
-*-perl-*- 
 
use lib qw(/usr/pack/rrdtool-1.0.33-to/lib/perl);
use lib qw(/home/oetiker/data/projects/AADJ-smokeping/dist/lib);
use CGI::Carp qw(fatalsToBrowser);
 
use Smokeping 2.004000; 
 
Smokeping::cgi("/home/oetiker/data/projects/AADJ-smokeping/dist/etc/config"); 
 

把以上紅色部分修改成如下加粗的部分:

!/usr/bin/speedy -w
-*-perl-*- 
 
use lib qw(/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/RRDs);
use lib qw(/opt/smokeping/lib);
use CGI::Carp qw(fatalsToBrowser);
 
use Smokeping 2.004000; 
 
Smokeping::cgi("/opt/smokeping/etc/config"); 
 
3)vim /opt/smokeping/htdocs/tr.cgi
Change this:
!/usr/sepp/bin/speedy-5.8.8 -w
use strict;
use lib qw(/home/oposs/smokeping/software/lib);
use lib qw(perl); 
 

把以上紅色部分修改成如下加粗的部分:

#!/usr/bin/speedy -w
use strict;
use lib qw(/opt/smokeping/lib);
use lib qw(perl);
 

7、創建HTTP訪問的目錄與文件

mkdir -p /var/www/html/smokeping/img /var/www/html/smokeping/script/ /opt/smokeping/data /opt/smokeping/var
chown -R apache:apache /var/www/html/smokeping/img
ln -s /opt/smokeping/htdocs/cropper /var/www/html/smokeping/cropper
ln -s /opt/smokeping/htdocs/resource /var/www/html/smokeping/resource
ln -s /opt/smokeping/htdocs/script/Tr.js /var/www/html/smokeping/script/Tr.js
ln -s /opt/smokeping/htdocs/smokeping.cgi /var/www/html/smokeping/smokeping.cgi
ln -s /opt/smokeping/htdocs/tr.cgi /var/www/html/smokeping/tr.cgi
 

8、修改traceroute權限
chmod 4775 /bin/traceroute
 

9、修改http配置文件

vim /etc/httpd/conf/httpd.conf
change > AddHandler cgi-script .cgi
to > AddHandler cgi-script .cgi
Under <Directory “/var/www/html”>
change> Options Indexes FollowSymLinks
to > Options Indexes FollowSymLinks ExecCGI
 

10、修改basepage.html配置文件
vim /opt/smokeping/etc/basepage.html
Change this:
<script src="cropper/lib/prototype.js" type="text/javascript"></script>
<script src="cropper/lib/scriptaculous.js?load=builder,dragdrop" type="text/javascript"></script>
<script src="cropper/cropper.js" type="text/javascript"></script>
<script src="cropper/smokeping-zoom.js" type="text/javascript"></script>

To this:
<script src="/smokeping/cropper/lib/prototype.js" type="text/javascript"></script>
<script src="/smokeping/cropper/lib/scriptaculous.js?load=builder,dragdrop" type="text/javascript"></script>
<script src="/smokeping/cropper/cropper.js" type="text/javascript"></script>
<script src="/smokeping/cropper/smokeping-zoom.js" type="text/javascript"></script>
 

11、修改tr.html配置
vim /opt/smokeping/htdocs/tr.html
Change this:
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>SmokeTrace</title>
   <script type="text/javascript" src="script/Tr.js"></script>
</head>
</html>

To this:


<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>SmokeTrace</title>
   <script type="text/javascript" src="/script/Tr.js"></script>
</head>
</html>
 

12、軟連接
ln -s /opt/smokeping/htdocs/tr.html /var/www/html/smokeping/tr.html

13、修改配置文件,我的配置文件如下:

*** General ***

owner    =  Kang
contact  = [email protected]
mailhost = smtp.qq.com
sendmail = /usr/lib/sendmail
# NOTE: do not put the Image Cache below cgi-bin
# since all files under cgi-bin will be executed ... this is not
# good for images.
imgcache = /var/www/html/smokeping/img

imgurl   = http://120.X.X.X/smokeping/img

datadir  = /opt/smokeping/data

piddir  = /opt/smokeping/var

cgiurl   = http://120.X.X.Xsmokeping/smokeping.cgi

smokemail = /opt/smokeping/etc/smokemail

 

tmail = /opt/smokeping/etc/tmail

# specify this to get syslog logging
syslogfacility = local0
# each probe is now run in its own process
# disable this to revert to the old behaviour
# concurrentprobes = no
 

*** Alerts ***
to = [email protected]
from = [email protected]

+someloss
type = loss
# in percent
pattern = >0%,*12*,>0%,*12*,>0%
comment = loss 3 times  in a row

*** Database ***

step     = 300
pings    = 20

# consfn mrhb steps total

AVERAGE  0.5   1  1008
AVERAGE  0.5  12  4320
    MIN  0.5  12  4320
    MAX  0.5  12  4320
AVERAGE  0.5 144   720
    MAX  0.5 144   720
    MIN  0.5 144   720

*** Presentation ***

template = /opt/smokeping/etc/basepage.html

+ charts

menu = Charts
title = The most interesting destinations

++ stddev
sorter = StdDev(entries=>4)
title = Top Standard Deviation
menu = Std Deviation
format = Standard Deviation %f

++ max
sorter = Max(entries=>5)
title = Top Max Roundtrip Time
menu = by Max
format = Max Roundtrip Time %f seconds

++ loss
sorter = Loss(entries=>5)
title = Top Packet Loss
menu = Loss
format = Packets Lost %f

++ median
sorter = Median(entries=>5)
title = Top Median Roundtrip Time
menu = by Median
format = Median RTT %f seconds

+ overview

width = 600
height = 50
range = 10h

+ detail

width = 600
height = 200
unison_tolerance = 2

"Last 3 Hours"    3h
"Last 30 Hours"   30h
"Last 10 Days"    10d
"Last 400 Days"   400d

#+ hierarchies
#++ owner
#title = Host Owner
#++ location
#title = Location

*** Probes ***

+ FPing

binary = /usr/sbin/fping

#*** Slaves ***
#secrets=/opt/smokeping/etc/smokeping_secrets
#+boomer
#display_name=boomer
#color=0000ff

#+slave2
#display_name=another
#color=00ff00

*** Targets ***
menuextra = <a target='_blank' href='/smokeping/tr.html{HOST}' class='{CLASS}' \
onclick="window.open(this.href,this.target, \
'width=800,height=500,toolbar=no,location=no,status=no,scrollbars=no'); \
return false;">(TR)</a>


probe = FPing

menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of Kang Company. \
         Here you will learn all about the latency of our network.

+ web
menu= web
#parents = owner:/Test/James location:/
title = web 

++ cu-guangzhou
menu = cu-guangzhou
title = cu-guangzhou

+++ cu-guangzhou-1
menu = cu-guangzhou-1
title = cu-guangzhou-120.80.149.58
host = 120.80.149.58

+++ cu-guangzhou-2
menu = cu-guangzhou-2
title = cu-guangzhou-221.4.65.65
host = 221.4.65.65

+++ cu-guangzhou-3
menu = cu-guangzhou-3
title = cu-guangzhou-120.80.237.57
host = 120.80.237.57

+++ cu-guangzhou-4
menu = cu-guangzhou-4
title = cu-guangzhou-120.80.153.10
host = 120.80.153.10

++ cu-shanghai
menu = cu-shanghai
title = cu-shanghai

+++ cu-shanghai-1
menu = cu-shanghai-1
title = cu-shanghai-112.64.245.1
host = 112.64.245.1


+++ cu-shanghai-2
menu = cu-shanghai-2
title = cu-shanghai-112.64.245.158
host =  112.64.245.158


+++ cu-shanghai-3
menu = ct-shanghai-3
title = ct-shanghai-112.64.247.1
host = 112.64.247.1

++ cu-beijing
menu = cu-beijing
title = cu-beijing

+++ cu-beijing-1
menu = cu-beijing-1
title = cu-beijing-219.158.4.1

host = 219.158.4.1

+++ cu-beijing-2
menu = cu-beijing-2
title = cu-beijing-219.158.4.2
host = 219.158.4.2

+++ cu-beijing-3
menu = cu-beijing-3
title = cu-beijing-219.158.4.45
host = 219.158.4.45

+++ cu-beijing-4
menu = cu-beijing-4
title = cu-beijing-61.148.25.95
host = 61.148.25.95

+++ cu-beijing-5
menu = cu-beijing-5
title = cu-beijing-61.148.25.94
host = 61.148.25.94

++MAN-guangzhou
menu = MAN-guangzhou
title = MAN-guangzhou

+++MAN-guangzhou-1
menu = MAN-guangzhou-1
title = MAN-guangzhou-58.248.0.1
host = 58.248.0.1


+++MAN-guangzhou-2
menu = MAN-guangzhou-2
title = MAN-guangzhou-58.248.1.1
host = 58.248.1.1


+++MAN-guangzhou-3
menu = MAN-guangzhou-3
title = MAN-guangzhou-58.248.3.1
host = 58.248.3.1

+++ MAN-guangzhou-4
menu = MAN-guangzhou-4
title = MAN-guangzhou-58.248.4.1
host = 58.248.4.1

+++ MAN-guangzhou-5
menu = MAN-guangzhou-5
title = MAN-guangzhou-58.248.9.1
host = 58.248.9.1

++MAN-shenzhen
menu = MAN-shenzhen
title = MAN-shenzhen

+++MAN-shenzhen-1
menu = MAN-shenzhen-1
title = MAN-shenzhen-58.251.49.202
host = 58.251.49.202


+++MAN-shenzhen-2
menu = MAN-shenzhen-2
title = MAN-shenzhen-58.251.49.129
host = 58.251.49.129

+++MAN-shenzhen-3
menu = MAN-shenzhen-3
title = MAN-shenzhen-58.251.49.130
host = 58.251.49.130

+++MAN-shenzhen-4
menu = MAN-shenzhen-4
title = MAN-shenzhen-58.251.50.2
host = 58.251.50.2

+++MAN-shenzhen-5
menu = MAN-shenzhen-5
title = MAN-shenzhen-58.251.50.1
host = 58.251.50.1

++MAN-dongguan
menu = MAN-dongguan
title = MAN-dongguan

+++MAN-dongguan-1
menu = MAN-dongguan-1
title = MAN-dongguan-58.252.3.20
host = 58.252.3.20

+++MAN-dongguan-2
menu = MAN-dongguan-2
title = MAN-dongguan-58.252.3.1
host = 58.252.3.1

+++MAN-dongguan-3
menu = MAN-dongguan-3
title = MAN-dongguan-120.86.124.18
host = 120.86.124.18

+++MAN-dongguan-4
menu = MAN-dongguan-4
title = MAN-dongguan-120.86.124.21
host = 120.86.124.21
 

14、創建smokeping執行腳本

touch /etc/init.d/smokeping

 //創建腳本文件


vim /etc/init.d/smokeping
//增加配置腳本,內容如下:

 #!/bin/bash
#
# chkconfig: 2345 80 05
# Description: Smokeping init.d script
# Hacked by : How2CentOS - http://www.how2centos.com
# Get function from functions library
. /etc/init.d/functions
# Start the service Smokeping
start() {
        echo -n "Starting Smokeping: "
        /opt/smokeping/bin/smokeping >/dev/null 2>&1
        ### Create the lock file ###
        touch /var/lock/subsys/smokeping
        success $"Smokeping startup"
        echo
}
# Restart the service Smokeping
stop() {
        echo -n "Stopping Smokeping: "
        kill -9 `ps ax | grep "/opt/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
}
### main logic ###
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
        status Smokeping
        ;;
  restart|reload|condrestart)
        stop
        start
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart|reload|status}"
        exit 1
esac
exit 0

chmod 755 /etc/init.d/smokeping

//增加可執行權限

15、自動運行等配置:


# chkconfig smokeping on
# chkconfig httpd on
# service smokeping start
Starting Smokeping: [ OK ]
# service httpd start
Starting httpd: [ OK ]

補充:

今天重新安裝另外一臺服務器,發現到了這和步,有個報錯:

Mon May 23 19:59:58 2011] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations
[Mon May 23 20:00:56 2011] [error] [client 192.168.10.103] Directory index forbidden by Options directive: /var/www/html/
[Mon May 23 20:00:57 2011] [error] [client 192.168.10.103] File does not exist: /var/www/html/favicon.ico
[Mon May 23 20:01:07 2011] [error] [client 192.168.10.103] Symbolic link not allowed or link target not accessible: /var/www/html/smokeping/smokeping.cgi
[Mon May 23 20:02:32 2011] [error] [client 192.168.10.103] Symbolic link not allowed or link target not accessible: /var/www/html/smokeping/smokeping.cgi
 

解決辦法:

 vi /etc/selinux/config

修改如下:

SELINUX=disabled
 

重啓系統後恢復正常

 

16、截圖如下:

 

 

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