Extract bandwidth information from lighttpd log files
I was recently looking for a simple way to get some bandwidth statistics for websites that I host. Interested in historical data my only option was to look back over my webserver log files.
My webserver of choice on linux systems is currently lighttpd. Here’s a quick shell script to get the bandwidth statistics out of the default lighttpd log files:
#!/bin/bash cat access.log | awk '{ month=substr($4,5,3) year= substr($4,9,4) timstamp=year" "month bytes[timstamp] += $10 } END { for (date in bytes) printf("%s %20d MB\n", date, bytes[date]/(1024*1024)) }' | sort -k1n -k2M
That will give you a table containing the stats based on the bytes sent for the body of the pages:
2011 Jan 662 MB 2011 Feb 12090 MB 2011 Mar 13645 MB 2011 Apr 12274 MB 2011 May 12279 MB 2011 Jun 9551 MB