我需要制作一个程序来记录 squid 代理的每个用户的带宽使用情况。在我的 access.log 中,我看到了诸如...的输出
1481377143.042 0 104.123.25.183 TCP_DENIED/407 3829 CONNECT scontent.xx.fbcdn.net:443 - HIER_NONE/- text/html
1481377143.403 0 104.123.25.183 TCP_DENIED/407 3793 CONNECT cx.atdmt.com:443 - HIER_NONE/- text/html
1481377277.865 134623 104.123.25.183 TCP_MISS/200 4118 CONNECT scontent.xx.fbcdn.net:443 star7 HIER_DIRECT/2a03:2880:f022:b:face:b00c:0:3 -
1481377277.868 134626 104.123.25.183 TCP_MISS/200 4116 CONNECT scontent.xx.fbcdn.net:443 star7 HIER_DIRECT/2a03:2880:f022:b:face:b00c:0:3 -
我相信以字节为单位的响应大小应该在那里,但它是哪个条目?我意识到没有记录标题大小,因此准确性不会很完美,但应该足够准确。我不知道有什么更好的方法来跟踪 squid 用户带宽使用情况,所以必须这样做,但我需要知道哪个是大小条目。
看起来像这里http://wiki.squid-cache.org/Features/LogFormat#http_status_codes他们说这是 http 状态码之后的条目,所以 3829、3793 等。
本机日志格式为:
第 5 部分(%s/%03d 之后的 %d)为:
参考:http ://wiki.squid-cache.org/Features/LogFormat