迅维网
标题:
测试网络稳定性的小脚本
[打印本页]
作者:
xb12321
时间:
2013-1-28 16:01
标题:
测试网络稳定性的小脚本
测试网络稳定性的小脚本 by 唯心铅笔
因为这段时间需要选择IDC,因此需要做很多方面的测试,其中icmp的稳定性是非常重要的测试网络稳定性的手段。而为了对领导有所交代,需要有比较直观的图表,因此想到利用rrdtool强大的绘图能力来做。但是如果装个cacti又有点劳师动众了,只能自己动手写个小脚本来完成任务了。
脚本分两段,这是因为rrdtool的特性导致,先要创建rrd文件–create_ping.sh
#!/bin/sh
rrdfilepath="/opt/rrdtool/rrddir/"
rrdimgpath="/opt/rrdtool/img/"
rrdtoolcmd="/usr/local/rrdtool-1.2.15/bin/rrdtool"
rrdfilename="gzdxtogzyd"
if [ ! -d $rrdfilepath ]
then
mkdir -p $rrdfilepath
fi
if [ ! -d $rrdimgpath ]
then
mkdir -p $rrdimgpath
fi
$rrdtoolcmd create \
${rrdfilepath}${rrdfilename}.rrd \
--step 300 \
DS:ping:GAUGE:600:0:5000 \
RRA:AVERAGE:0.5:1:600 \
RRA:AVERAGE:0.5:6:700 \
RRA:AVERAGE:0.5:24:775 \
RRA:AVERAGE:0.5:288:797 \
RRA:MIN:0.5:1:600 \
RRA:MIN:0.5:6:700 \
RRA:MIN:0.5:24:775 \
RRA:MIN:0.5:288:797 \
RRA:MAX:0.5:1:600 \
RRA:MAX:0.5:6:700 \
RRA:MAX:0.5:24:775 \
RRA:MAX:0.5:288:797 \
RRA
AST:0.5:1:600 \
RRA
AST:0.5:6:700 \
RRA
AST:0.5:24:775 \
RRA:LAST:0.5:288:797
然后就需要采集数据更新rrd文件,然后绘制图形,流程很简单– update_ping.sh
#!/bin/sh
HOMEDIR="/opt/rrdtool"
rrdfilepath="/opt/rrdtool/rrddir/"
rrdimgpath="/opt/rrdtool/img/"
htmlfilepath="/opt/rrdtool/html/"
rrdtoolcmd="/usr/local/rrdtool-1.2.15/bin/rrdtool"
rrdfilename="gzdxtogzyd.rrd"
rrdimgpre="gzdxtogzyd"
IP="1.1.1.1"
sleeptime=60
i=1
title="GZDX To GZYD"</code>
while [ $i -eq 1 ]
do
pingdata=`ping -c 1 $IP |grep icmp_seq |awk -F"=" '{print $4}' |awk '{print $1}'`
nowtimestamp=`/bin/date +%s`
$rrdtoolcmd update ${rrdfilepath}${rrdfilename} $nowtimestamp
pingdata
$rrdtoolcmd graph ${rrdimgpath}${rrdimgpre}_daily.png \
--imgformat=PNG \
--start=-86400 \
--end=-300 \
--title="$title daily" \
--base=1000 \
--height=120 \
--width=500 \
--alt-autoscale-max \
--lower-limit=0 \
--vertical-label="milliseconds" \
DEF:a="${rrdfilepath}${rrdfilename}":ping:AVERAGE \
AREA:a#FFF200:"" \
GPRINT:a:LAST:"Current\:%8.2lf%s" \
GPRINT:a:MIN:"Minimum\:%8.2lf%s" \
GPRINT:a:MAX:"Maximum\:%8.2lf%s"
$rrdtoolcmd graph ${rrdimgpath}${rrdimgpre}_weekly.png \
--imgformat=PNG \
--start=-604800 \
--end=-1800 \
--title="$title weekly" \
--base=1000 \
--height=120 \
--width=500 \
--alt-autoscale-max \
--lower-limit=0 \
--vertical-label="milliseconds" \
DEF:a="${rrdfilepath}${rrdfilename}":ping:AVERAGE \
AREA:a#FFF200:"" \
GPRINT:a:LAST:"Current\:%8.2lf%s" \
GPRINT:a:MIN:"Minimum\:%8.2lf%s" \
GPRINT:a:MAX:"Maximum\:%8.2lf%s"
$rrdtoolcmd graph ${rrdimgpath}${rrdimgpre}_monthly.png \
--imgformat=PNG \
--start=-2678400 \
--end=-7200 \
--title="$title monthly" \
--base=1000 \
--height=120 \
--width=500 \
--alt-autoscale-max \
--lower-limit=0 \
--vertical-label="milliseconds" \
DEF:a="${rrdfilepath}${rrdfilename}":ping:AVERAGE \
AREA:a#FFF200:"" \
GPRINT:a:LAST:"Current\:%8.2lf%s" \
GPRINT:a:MIN:"Minimum\:%8.2lf%s" \
GPRINT:a:MAX:"Maximum\:%8.2lf%s"
sleep $sleeptime
done
这样,只要执行:
$ create_ping.sh
$ update_ping.sh >/dev/null &
作者:
593435978
时间:
2013-2-3 18:52
值得探讨一下看看
作者:
593435978
时间:
2013-2-4 21:02
又来研究一下
作者:
593435978
时间:
2013-2-11 09:15
在读研究
作者:
深圳胡晓东
时间:
2013-2-23 16:38
看不懂,这是什么脚本?
作者:
jdzxh
时间:
2013-2-27 14:43
代码不全了吧,里面还有表情。
作者:
orange2478
时间:
2013-3-10 09:21
可能跟论坛的表情代码有冲突了看到几个表情了
其实用ping命令看我觉得更加简单
欢迎光临 迅维网 (https://www.chinafix.com/)
Powered by Discuz! X3.4