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

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


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

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

smokeping的優勢:html

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

  2. 免費和開源,做者是MRTG和RRDtool做者。linux

  3. 支持主從的分佈式模式。apache

  4. 能夠自定義報警功能。vim

smokeping安裝方法:使用yum安裝其餘資源包,編譯安裝smokeping方式。centos

1、使用apt.sw.be源(安裝前的準備)bash

# yum update
# rpm -Uvh http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

使用yum安裝,在 /etc/yum.repos.d/下面新建dag.repo文件在文件中輸入源地址:服務器

# cat dag.repo
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linuxbaseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
enabled=1
# yum -y install rrdtool

這樣就能夠完成RRDTool安裝…網絡

2、軟件包的安裝(安裝smokeping)

# yum install httpd# 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
# wget http://oss.oetiker.ch/smokeping/pub/smokeping-2.4.2.tar.gz
# tar zxvf smokeping-2.4.2.tar.gz
# mv smokeping-2.4.1 /opt/smokeping
# cd /opt/smokeping/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

3、配置smokeping

1. 編輯文件:/opt/smokeping/bin/smokeping

修改如下內容:

#!/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.004002;
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.004002;
Smokeping::main("/opt/smokeping/etc/config");

2. 編輯文件:/opt/smokeping/htdocs/smokeping.cgi

修改如下內容:

#!/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.004002;
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.004002;
Smokeping::cgi("/opt/smokeping/etc/config");

3. 編輯文件:/opt/smokeping/htdocs/tr.cgi

修改如下內容:

#!/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);

4. 編輯文件:/opt/smokeping/etc/basepage.html

修改如下內容:

<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>

5. 修改traceroute權限

# chmod 4775 /bin/traceroute

6. 編輯apache配置文件(去掉AddHandler cgi-script .cgi前面的註釋)

修改如下內容:

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

爲:

<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>

7. 編輯文件:/opt/smokeping/htdocs/tr.html

修改成:

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

8. 編輯文件:/opt/smokeping/etc/config

*** General ***
owner = server1
contact = server1@linuxde.net
mailhost = linuxde.netsendmail = /usr/sbin/sendmail
imgcache = /opt/smokeping/htdocs/cache
imgurl = http://192.168.9.100/cache
datadir = /opt/smokeping/data
piddir = /opt/smokeping/var
cgiurl = http://192.168.9.100/smokeping/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 = alertee@address.somewhere
from = autopost@linuxde.net
+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 timemenu = 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
*** 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 = linuxde.net
remark = Welcome to linuxde.net
+ hosts
menu= Targets
++ linuxde.net
menu = linuxde.net
title = linuxde.net
alerts = someloss
host = linuxde.net
++ linuxde.net
menu = salogs.cm
title = linuxde.net
alerts = someloss
host = linuxde.net

9. 建立一個啓動腳本

# 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
相關文章
相關標籤/搜索