Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --------------------------------
- Transit : Bandwidth Usage Breakdown
- --------------------------------
- Last Month Usage Breakdown:
- From: Tue Jan 1 00:00:00 CST 2013
- To: Fri Feb 1 00:00:00 CST 2013
- GBytes IN = 184.661
- GBytes OUT = 944.873
- -----------------
- TOTAL = 1129.534
- 95th Percentile: 9.866 Mbps
- --------------------------------
- Month-To-Date Usage Breakdown:
- From: Fri Feb 1 00:00:00 CST 2013
- To: Mon Feb 11 07:33:37 CST 2013
- GBytes IN = 60.902
- GBytes OUT = 287.265
- -----------------
- TOTAL = 348.168
- 95th Percentile: 9.906 Mbps
- --------------------------------
- Current Month Projection Usage Breakdown:
- From: Fri Feb 1 00:00:00 CST 2013
- To: Fri Mar 1 00:00:00 CST 2013
- GBytes IN = 60.902
- GBytes OUT = 287.265
- -----------------
- TOTAL = 348.168
- 95th Percentile: 9.412 Mbps
- --------------------------------
- #!/bin/bash
- IFACE=${1-eth0}
- INTERVAL=${2-10}
- # Generate environment vars RX1,RX2 and TX1,TX2 which are 10 seconds apart:
- eval $(
- ifconfig $IFACE | grep '[RT]X packets' | awk '{print $1" "$5}' | sed 's/ /1=/'
- sleep $INTERVAL
- ifconfig $IFACE | grep '[RT]X packets' | awk '{print $1" "$5}' | sed 's/ /2=/')
- # Convert to kbit/sec:
- let "RX=($RX2-$RX1)*8/$INTERVAL / 1000"
- let "TX=($TX2-$TX1)*8/$INTERVAL / 1000"
- # BX is the max of both:
- let "BX = $TX > RX ? $TX : $RX"
- echo $BX RX=$RX TX=$TX BX=$BX $(date '+%F %H:%M:%S')
- */5 * * * * root /usr/local/bin/95th.sh eth0 >> /var/log/95th-percent.log
- DATE=2019-06
- PERCENTILE=95
- grep $DATE /var/log/95th-percent.log | sort -nr | head -n $(( $( grep -c $DATE /var/log/95th-percent.log ) * (100-$PERCENTILE) / 100 )) | tail -1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement