подсчет траффика

Jul 30, 2010 13:32

Сквидятина как известно штука кеширующая.
Заинтересовало меня а сколько реально тянется из инета, а сколько отдается из кеша.


#!/bin/sh
# Выбераем только нужные нам поля
# 1-время, 3-srcIP, 4-результат, 5-объем

TMPFILE=`date +'%s'`
# дата выборки 0-сегодня, 1-вчера, 2-позавчера
DATE=`date --date='0 days ago' +'%D'`
LOG='/var/log/squid/access.log'

grep "_HIT" $LOG | awk '{print strftime( "%D %H:%M:%S",$1), $3, $4, $5}' | grep ^$DATE > $TMPFILE.hit
grep "_MISS" $LOG | awk '{print strftime( "%D %H:%M:%S",$1), $3, $4, $5}' | grep ^$DATE > $TMPFILE.miss

SUM=0
COUNT=0
for XXX in `cat ./$TMPFILE.hit | awk '{print $5}'`; do ((COUNT+=1));((SUM+=$XXX)); done
echo Cache HIT $COUNT, Total traffic: `echo ${SUM}/1024/1024 | bc`Mb

SUM=0
COUNT=0
for XXX in `cat ./$TMPFILE.miss | awk '{print $5}'`; do ((COUNT+=1));((SUM+=$XXX)); done
echo Cache MISS $COUNT, Total traffic: `echo ${SUM}/1024/1024 | bc`Mb

rm ./$TMPFILE.hit
rm ./$TMPFILE.miss
# end
скрипт работает на логах вида:
1280474457.849 555 10.0.99.127 TCP_MISS/200 453 GET http://l.sharethis.com/pview? russuv DEFAULT_PARENT/192.168.1.1 image/gif

результат за сегодня, на тестовой проксе, где кроме меня и нет больше никого
$ ./squid-day-count.sh
Cache HIT 1118, Total traffic: 1Mb
Cache MISS 1457, Total traffic: 13Mb

linux, squid

Previous post Next post
Up