Home | Mirror | Search

第 4 章 Web

目錄

1. Apache Log
1.1. 刪除日誌
1.2. 統計爬蟲
1.3. 統計瀏覽器
1.4. IP 統計
1.5. 統計域名
1.6. HTTP Status
1.7. URL 統計
1.8. 檔案流量統計
1.9. URL訪問量統計
1.10. 腳本運行速度
1.11. IP, URL 抽取
2. Tomcat Log
2.1. 截取 0-3 點區間的日誌
3. awstats
3.1. 語言
3.2. 輸出HTML文檔
3.3. 多站點配置
3.4. 合併日誌
3.5. Flush history file on disk (unique url reach flush limit of 5000) 優化
3.6. JAWStats
4. webalizer
4.1. 手工生成
4.2. 批量處理歷史數據
4.3. crontab
5. Sarg - Squid Analysis Report Generator

1. Apache Log

1、查看當天有多少個IP訪問:
awk '{print $1}' log_file|sort|uniq|wc -l

2、查看某一個頁面被訪問的次數:
grep "/index.php" log_file | wc -l

3、查看每一個IP訪問了多少個頁面:
awk '{++S[$1]} END {for (a in S) print a,S[a]}' log_file

4、將每個IP訪問的頁面數進行從小到大排序:
awk '{++S[$1]} END {for (a in S) print S[a],a}' log_file | sort -n

5、查看某一個IP訪問了哪些頁面:
grep ^111.111.111.111 log_file| awk '{print $1,$7}'

6、去掉搜索引擎統計當天的頁面:
awk '{print $12,$1}' log_file | grep ^\"Mozilla | awk '{print $2}' |sort | uniq | wc -l

7、查看2009年6月21日14時這一個小時內有多少IP訪問:
awk '{print $4,$1}' log_file | grep 21/Jun/2009:14 | awk '{print $2}'| sort | uniq | wc -l
		

1.1. 刪除日誌

刪除一個月前的日誌

rm -f /www/logs/access.log.$(date -d '-1 month' +'%Y-%m')*
			

1.2. 統計爬蟲

grep -E 'Googlebot|Baiduspider'  /www/logs/www.example.com/access.2011-02-23.log | awk '{ print $1 }' | sort | uniq
			

1.3. 統計瀏覽器

cat /www/logs/example.com/access.2010-09-20.log | grep -v -E 'MSIE|Firefox|Chrome|Opera|Safari|Gecko|Maxthon' | sort | uniq -c | sort -r -n | head -n 100
			

1.4. IP 統計

# grep '22/May/2012' /tmp/myid.access.log | awk '{print $1}' | awk -F'.' '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -r -n | head -n 10
   2206 219.136.134.13
   1497 182.34.15.248
   1431 211.140.143.100
   1431 119.145.149.106
   1427 61.183.15.179
   1427 218.6.8.189
   1422 124.232.150.171
   1421 106.187.47.224
   1420 61.160.220.252
   1418 114.80.201.18			
			

統計網段

# cat /www/logs/www/access.2010-09-20.log | awk '{print $1}' | awk -F'.' '{print $1"."$2"."$3".0"}' | sort | uniq -c | sort -r -n | head -n 200
			

1.5. 統計域名

# cat  /www/logs/access.2011-07-27.log |awk '{print $2}'|sort|uniq -c|sort -rn|more
			

1.6. HTTP Status

# cat  /www/logs/access.2011-07-27.log |awk '{print $9}'|sort|uniq -c|sort -rn|more
5056585 304
1125579 200
   7602 400
      5 301
			

1.7. URL 統計

cat  /www/logs/access.2011-07-27.log |awk '{print $7}'|sort|uniq -c|sort -rn|more
			

1.8. 檔案流量統計

cat /www/logs/access.2011-08-03.log |awk '{sum[$7]+=$10}END{for(i in sum){print sum[i],i}}'|sort -rn|more

grep ' 200 ' /www/logs/access.2011-08-03.log |awk '{sum[$7]+=$10}END{for(i in sum){print sum[i],i}}'|sort -rn|more

			

1.9. URL訪問量統計

			
# cat www.access.log | awk '{print $7}' | egrep '\?|&' | sort | uniq -c | sort -rn | more
			
			

1.10. 腳本運行速度

查出運行速度最慢的腳本

grep -v 0$ access.2010-11-05.log | awk -F '\" ' '{print $4" " $1}' web.log | awk '{print $1" "$8}' | sort -n -k 1 -r | uniq > /tmp/slow_url.txt
			

1.11. IP, URL 抽取

# tail -f /www/logs/www.365wine.com/access.2012-01-04.log | grep '/test.html' | awk '{print $1" "$7}'
			
comments powered by Disqus