#!/bin/sh
rrdtool=/usr/bin
RRD_DB_DIR=/opt/rrd_db/
RRD_DB_FILE=/opt/rrd_db/eth0-stream.rrd
RRD_DB_PIC=/opt/rrd_pic/
NOW=`date +%s`
MONTH_IN_SEC=2629743
MONTH_AGO=$(($NOW-$MONTH_IN_SEC))
ONE_QUARTER_AGO=$(($NOW-900))
ONE_HOUR_AGO=$(($NOW-3600))
ONE_DAY_AGO=$(($NOW-86400))
ONE_WEEK_AGO=$(($NOW-604800))
ONE_MONTH_AGO=$(($NOW-2629743))
ONE_YEAR_AGO=$(($NOW-31556926))
do_rrdgraph(){
if [ $2 = "quarter" ]
then
echo quarter
flag=MINUTE:1:MINUTE:3:MINUTE:3:0:"%H:%M"
elif [ $2 = "hour" ]
then
echo hour
flag=MINUTE:3:MINUTE:6:MINUTE:6:0:"%H:%M"
elif [ $2 = "day" ]
then
echo day
flag=MINUTE:30:HOUR:1:HOUR:2:0:"%H:%M"
elif [ $2 = "week" ]
then
echo week
flag=DAY:1:DAY:2:DAY:1:0:"%m/%d"
elif [ $2 = "month" ]
then
echo month
flag=DAY:1:DAY:3:DAY:3:0:"%m/%d"
elif [ $2 = "year" ]
then
echo year
flag=MONTH:1:MONTH:2:MONTH:2:0:"%Y/%m"
fi
if [[ $3 != "" ]]
then
echo "resolution=$3"
resolution="-S $3"
else
echo "resolution=300"
resolution="-S 300"
fi
$rrdtool/rrdtool graph "${RRD_DB_PIC}eth0-stream_$2.png" -s $1 -h 120 -w 500 -a PNG ${resolution} -t "Stream of eth0 (last $2)" \
-v bytes \
--lower-limit=0 \
--units-exponent 0 \
--rigid \
--x-grid ${flag} \
DEF:a="$RRD_DB_FILE":eth0_in:AVERAGE \
DEF:b="$RRD_DB_FILE":eth0_out:AVERAGE \
LINE1:a#003300:"eth0_in. \: " \
GPRINT:a:AVERAGE:"%.2lf" \
LINE1:b#9900FF:"eth0_out. \:" \
GPRINT:b:AVERAGE:"%.2lf"
}
if [ -e "$RRD_DB_FILE" ]
then
echo "file exits: $RRD_DB_FILE"
VALUE=$(cat /proc/net/dev|grep eth0|sed 's/^.*://'|awk '{print $1":"$9}')
$rrdtool/rrdtool updatev $RRD_DB_FILE N:${VALUE}
do_rrdgraph $ONE_QUARTER_AGO quarter
do_rrdgraph $ONE_HOUR_AGO hour
do_rrdgraph $ONE_DAY_AGO day 600
do_rrdgraph $ONE_WEEK_AGO week 600
do_rrdgraph $ONE_MONTH_AGO month 600
do_rrdgraph $ONE_YEAR_AGO year 1800
else
$rrdtool/rrdtool create $RRD_DB_FILE --step 300 \
DS:eth0_in:COUNTER:600:0:12500000 \
DS:eth0_out:COUNTER:600:0:12500000 \
RRA:AVERAGE:0.5:1:600 \
RRA:AVERAGE:0.5:4:700 \
RRA:AVERAGE:0.5:24:775 \
RRA:AVERAGE:0.5:288:797
echo "file created:$RRD_DB_FILE"
fi
分享到:
相关推荐
Linux流量监控脚本 上下行流量监控shell脚本
【knm-master提取usb流量脚本】是一款专用于分析USB设备流量的工具,它通过Python编程语言实现,能够帮助用户捕获并解析USB接口上的数据包。这个脚本的使用对于那些需要监控或分析USB设备通信行为的场景非常有用,...
Altium PCB Logo 导入图片脚本工具,使用方法。进入pcb画图页面,点文件->运行脚本->浏览->来自文件->PCBLogoCreator.PRJSCR双击->RunConverterScript双击->load然后找到照片,需要黑白的,这个页面千万不要点×,...
linux操作系统下使用shell编写流量监控脚本,可以实时监控系统流量,不说很强大,但是很实用!
总结来说,FAS流控系统是一个强大的网络流量管理工具,fas一键脚本、fas自启脚本、fas免流脚本以及fas搭建脚本则围绕FAS系统提供便捷的部署和管理方案。`fas.sh`作为这些功能的载体,是实现这些自动化过程的关键文件...
标题中的“Altium PCB Logo 导入脚本”指的是一个专门针对该软件的辅助工具,用于帮助设计师将自定义的Logo集成到PCB(印制电路板)设计中。这个脚本允许用户将单色位图图像方便地导入到PCB布局中,以便在最终产品上...
**ns2流量分析脚本模板详解** NS2(Network Simulator 2)是一个广泛使用的网络模拟器,它允许研究人员和工程师模拟各种网络环境和协议。在NS2中,编写脚本是进行流量分析的关键步骤,而“ns2流量分析脚本模板”...
Linux服务器下流量监控报警系统shell脚本实现.pdf
这是一个Altium Designer通用PCB导入图片脚本,把PCBLogo.zip的解压到AD安装路径,如C:\Program Files (x86)\Altium\AD13。操作的步骤可以按照这个教程来制作...
"AD图片导入.zip"文件正是为了解决这个问题,它包含了Altium Designer中用于导入图片的脚本。 首先,我们要理解什么是脚本文件。在Altium Designer中,脚本是一种通过编程语言(通常是Python或VBS)来自动化执行一...
本人在长城杯、蓝桥杯、巅峰极客等线下AWD攻防比赛所用到的全部工具(如WAF、EDR、文件监控脚本、文件还原脚本、混淆战局工具、流量监控工具、批量拿分脚本模板)和脚本以及教程及笔记还有练习平台和靶场源码,并...
linux监控网卡上传流量的自动化脚本 解决甜糖、猕猴桃等PCDN突然没上传又不恢复情况 著作权归作者所有。 商业转载请联系作者获得授权,非商业转载请注明出处。 链接:https://nctoro.com/daima/656.html 脚本功能: ...
很小的一个脚本,里面有两个函数可以生成随即ip和随即时间,你可以自己构造模拟流量格式。默认流量模式为ip ip port port length time 运行:awk -f flowcreate.awk 文件名 会自动在文件后加入10条模拟流量 脚本是...
本文将详细介绍如何通过shell和bat脚本来查看Android设备上的数据流量统计。 首先,我们要理解Android系统中的数据流量统计原理。Android系统会记录每个应用的数据使用量,分为移动数据(如4G、3G)和Wi-Fi两种类型...
光遇自动跑图脚本.apk
4. 工作流优化:通过编写脚本,用户可以根据自己的需求定制工作流,例如自动生成预览图、自动备份项目、一键导出模型等。 综上,"3dsmax脚本大全"这个资源包将包含大量实用的脚本,可以帮助3dsmax用户提高工作效率...
Oracle 监视脚本是DBA们用于管理和优化数据库性能的重要工具。在Oracle数据库系统中,有效的监控能够帮助我们理解数据库的运行状况,及时发现并解决问题,确保系统的稳定性和高效性。以下是一些核心的Oracle监视脚本...
批量图片处理脚本 PNG 批量图片处理脚本 PNG批量图片处理脚本 PNG
SOUL引流脚本是针对灵魂App(SOUL)设计的一种自动化工具,主要用于提高用户在该社交平台上的互动和流量引入。灵魂App是一款基于心灵匹配的社交应用,它通过个性化测试来帮助用户找到志趣相投的朋友。而引流脚本则是...