MRTG为交换机各端口当前流量排序scripts
发表于:2007-07-04来源:作者:点击数:
标签:
MRTG当前流量排序scripts V1.00CreatedbyThomas(2004-12-30) 前言: 脚本在FreeBsd4.10上 测试 完成。于原文上的相关脚本(用于 LINUX )做了相应修改。 参考: http://www.net130.com/2004/6-22/224959.html ――使用MRTG监控 网络 信息流量 排序脚本(加
MRTG当前流量排序scripts
V1.00 Created by Thomas(2004-12-30)
前言:
脚本在FreeBsd4.10上
测试完成。于原文上的相关脚本(用于
LINUX)做了相应修改。
参考:
http://www.net130.com/2004/6-22/224959.html ――使用MRTG监控
网络信息流量
排序脚本(加到/etc/crontab中)
[code:1:387608836f]
#!/bin/sh
# MRTGSORT
#Create by Thomas 2004-12-30
#Just add to the end of MRTG sentence in /etc/crontab, example:
#*/5 * * * * root /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg;/usr/local/etc/mrtg/mrtgsort.sh
#
#START....
#
>/tmp/tmp1
>/tmp/tmp2
>/tmp/tmp3
mrtgdir=/usr/local/www/data/mrtg
ls $mrtgdir/1/192*html>/tmp/tmp1
ls $mrtgdir/2/192*html>>/tmp/tmp1
for i in `cat /tmp/tmp1`
do
more $i|grep TITLE>>/tmp/tmp2
more $i|grep %
|cut -f4 -f5 -d" "
|awk 'NR==3{print}NR==6{print}'
|cut -f3 -d">" >>/tmp/tmp2
done
more /tmp/tmp2 | awk 'NR%3==1{printf("<tr><td> %s </td>",$0)}
NR%3==2{printf("<td> %s </td>",$0)}
NR%3==0{printf("<td> %s </td></tr>\n",$0)}'
|sed -e 's/<TITLE>//g' -e 's:</TITLE>::g' >/tmp/tmp3
echo -n '<HTML>
<HEAD>
<META content="TEXT/html; charset=gb2312" http-equiv=Content-Type>
</HEAD>
<BODY>
<p align=center><b>Sorted by current Input. (Unit KB) </b></p>
<table cellSpacing=0 cellPadding=1 width=600 align=center border=1>
<tr height=30 bgcolor=#FF9900>
<td >
<p>SwitchName&Port</p>
</td>
<td >
<p>InputSize</p>
</td>
<td >
<p>OutputSize</p>
</td>
</tr>
' >/usr/local/www/data/mrtg/1.html
echo -n '<HTML>
<HEAD>
<META content="TEXT/html; charset=gb2312" http-equiv=Content-Type>
</HEAD>
<BODY>
<p align=center><b>Sorted by current Output. (Unit KB) </b></p>
<table cellSpacing=0 cellPadding=1 width=600 align=center border=1>
<tr height=30 bgcolor=#00FFFF>
<td >
<p>SwitchName&Port</p>
</td>
<td >
<p>InputSize</p>
</td>
<td >
<p>OutputSize</p>
</td>
</tr>
' >/usr/local/www/data/mrtg/2.html
more /tmp/tmp3 | awk '{if ($7~/kb.*/) print}'|sort -t " " -rn +5 >>/usr/local/ww
w/data/mrtg/1.html
more /tmp/tmp3 | awk '{if ($7!~/kb.*/) print}'|sort -t " " -rn +5 >>/usr/local/w
ww/data/mrtg/1.html
more /tmp/tmp3 | awk '{if ($10~/kb.*/) print}'|sort -t " " -rn +8 >>/usr/local/w
ww/data/mrtg/2.html
more /tmp/tmp3 | awk '{if ($10!~/kb.*/) print}'|sort -t " " -rn +8 >>/usr/local/
www/data/mrtg/2.html
echo -n " </table>
</BODY>
</HTML>
">>/usr/local/www/data/mrtg/1.html
echo -n " </table>
</BODY>
</HTML>
">>/usr/local/www/data/mrtg/2.html
####The End of the scripts#####
[/code:1:387608836f]
注:
1.由“参考”中脚本生成的mrtg html放于mrtg/1、mrtg/2目录中,目的是将这些html中的当前流入流出的流量取出,再排序,加一些格式。
2./tmp/tmp1、/tmp/tmp2、/tmp/tmp3是三个临时文件,mrtg/1.html、mrtg/2.html分别放置按流入排序和流出排序。
atom 回复于:2005-01-31 13:49:10 |
觉得好,就帮忙顶一下啊! 顶。
|
atom 回复于:2005-01-31 16:37:10 |
555,又是一篇没人认可的:-( 一个回复也没有,555
|
自由骆驼 回复于:2005-02-01 10:27:19 |
楼主,俺小伟哥来帮你顶!!! 请问普通的TP-LING D-LING能行吗?
|
atom 回复于:2005-02-01 10:34:34 |
哦。。。。 恐怕不行。 没有管理功能,没法起snmp.
|
wind521 回复于:2005-02-01 11:21:09 |
不错:)
|
atom 回复于:2005-02-01 11:40:01 |
HoHo,感谢版主鼓励~^_^~
|
maozd 回复于:2005-02-01 19:38:48 |
应该将执行代码和显示或输出内容分开,这样脚本会更清晰易读
|
atom 回复于:2005-02-02 17:57:08 |
[quote:45cecf14ad="maozd"]应该将执行代码和显示或输出内容分开,这样脚本会更清晰易读[/quote:45cecf14ad]
除非分成几个文件。。。 不过一共不够一页纸,岂不多此一举了?
|
KindGeorge 回复于:2005-02-03 09:56:14 |
可以顶,但个人认为如果在语句之间多点备注说明会使看脚本的人更明了.
|
eagerlinuxer 回复于:2005-02-03 10:43:37 |
呵呵,能不能写上注释,让更多的人,花更少的时间就看懂你的脚本 :)
|
atom 回复于:2005-02-03 11:02:10 |
个人认为,看这个脚本之前,最好先看一下“参考”,不写太多注示,是想留些琢磨的味道。
如果版主给个精华,我就再写份注示说明什么的,呵呵。~^_^~
|
atom 回复于:2005-02-03 17:58:49 |
版主给个精华吧,原创的。 UP
|
原文转自:http://www.ltesting.net