WEB开发网
开发学院软件开发Shell Shell图形化监控网络流量 阅读

Shell图形化监控网络流量

 2012-05-24 09:12:29 来源:WEB开发网   
核心提示:06:38:01 312706:39:01 416206:40:01 513706:41:01 134806:42:01 187206:43:01 288206:44:01 197206:45:01 568906:46:01 195206:47:01 237106:48:01 333306:49:
06:38:01 3127
06:39:01 4162
06:40:01 5137
06:41:01 1348
06:42:01 1872
06:43:01 2882
06:44:01 1972
06:45:01 5689
06:46:01 1952
06:47:01 2371
06:48:01 3333
06:49:01 4523
06:50:01 1346
06:51:01 7864
06:52:01 3256
06:53:01 5742
06:54:01 1234
06:55:01 4328
06:56:01 2651
06:57:01 1463
06:58:01 2813
06:59:01 1111
07:00:01 2134
07:01:01 1687
07:02:01 3383
07:03:01 2345

现在我们就可以通过GnuPlot进行绘图。
set terminal png small color picsize 600 400 #以png格式,坐标字体为小字体,大小为600*400输出绘图
set output "eth0.png" #输出图片的名称为eth0.png
set xdata time #设定X坐标的类型为时间类型
set timefmt "%H:%M:%S" #设定时间类型的格式
set grid #设定网格为输出图片背景
set style data linespoints #设定绘图使用点线方式
set xtic rotate by 90 #将X坐标以90旋转
plot "result" using 1:2 title "eth0" pointtype 3 linetype 2#以result文件的一列为X坐标绘制第二列的内容,图片右上角标示为eth0

将以上内容保存为文件eth0
cat eth0 | gnuplot #执行绘图

本例输出的图片如下:

完整shell脚本如下:

#! /bin/bash
while true;do
echo -n `date +%H:%M:%S` " " >> result;echo $[`ifconfig | awk -F ":" 'NR==8{print $2+$3}'`-`awk '{sum+=$2}END{print sum}' result `]>>result
cat eth0 | gnuplot #由于每次生成的图片会覆盖原来的图片,所以不用进行删除操作
sleep 60
done

生成好的图片可以放置在Apache中或者整合Nagios。

上一页  1 2 

Tags:Shell 图形 监控

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接