log日志分析,Nginx 0.8.5版本access.log日志分析shell命令? 大 | 中 | 小? [ 2011-6-4 16:48 | by jed ]
Nginx 版本信息:
nginx version: nginx/0.8.53Nginx日志配置項:
access_log /data0/logs/access.log combined;Nginx日志格式:
$remote_addr – $remote_user [$time_local] $request $status $apache_bytes_sent $http_referer $http_user_agent127.0.0.1 - - [24/Mar/2011:12:45:07 +0800] "GET /fcgi_bin/xxx.fcgi?id=xxx HTTP/1.0" 200 160 "-" "Mozilla/4.0"通過日志查看當(dāng)天訪問頁面排前10的url:
#>cat access.log | grep "24/Mar/2011" | awk '{print $7}' | sort | uniq -c | sort -nr | head -n 10
通過日志查看當(dāng)天ip連接數(shù),統(tǒng)計ip地址的總連接數(shù)
#>cat access.log | grep "24/Mar/2011" | awk '{print $1}' | sort | uniq -c | sort –nr
38 112.97.192.16
20 117.136.31.145
19 112.97.192.31
3 61.156.31.20
2 209.213.40.6
1 222.76.85.28
通過日志查看當(dāng)天訪問次數(shù)最多的10個IP ,只需要在上一個命令后加上head命令
#>cat access.log | grep "24/Mar/2011" |awk '{print $3}'|sort |uniq -c|sort -nr|head –n 10
38 112.97.192.16
20 117.136.31.145
19 112.97.192.31
3 61.156.31.20
2 209.213.40.6
1 222.76.85.28
通過日志查看當(dāng)天訪問次數(shù)最多的10個IP
#>awk '{print $1}' access.log |sort |uniq -c|sort -nr|head
10680 10.0.21.17
1702 10.0.20.167
823 10.0.20.51
504 10.0.20.255
215 58.60.188.61
192 183.17.161.216
38 112.97.192.16
20 117.136.31.145
19 112.97.192.31
6 113.106.88.10
通過日志查看當(dāng)天指定ip訪問次數(shù)過的url和訪問次數(shù):
#>cat access.log | grep "10.0.21.17" | awk '{print $7}' | sort | uniq -c | sort –nr
224 /test/themes/default/img/logo_index.gif
224 /test/themes/default/img/bg_index_head.jpg
224 /test/themes/default/img/bg_index.gif
219 /test/vc.php
219 /
213 /misc/js/global.js
211 /misc/jsext/popup.ext.js
211 /misc/js/common.js
210 /sladmin/home
197 /misc/js/flib.js
通過日志查看當(dāng)天訪問次數(shù)最多的時間段
#>awk '{print $4}' access.log | grep "24/Mar/2011" |cut -c 14-18|sort|uniq -c|sort -nr|head
24 16:49
19 16:17
16 16:51
11 16:48
4 16:50
3 16:52
1 20:09
1 20:05
1 20:03
1 19:55
還有什么其他的,大家繼續(xù)補充啦
通過日志查看某時間段訪問次數(shù)最多的url
[qidian@qd16-176 www]$ cat www_access_log.2016-01-28 | grep '2016:10:46' | awk '{print $7}'|sort |uniq -c|sort -nr|head
查詢某個時間段的請求量
cat www_access_log.2016-02-02 | grep "02/Feb/2016:21:0"|wc -l
查詢301最多的url排行
cat www_access_log.2016-02-18 | awk '{if($9 == 301) print $7}'|sort |uniq -c|sort -nr|head
apache訪問日志分析
當(dāng)前WEB服務(wù)器中聯(lián)接次數(shù)最多的ip地址
#netstat -ntu |awk '{print $5}' |sort | uniq -c| sort -nr
查看日志中訪問次數(shù)最多的前10個IP
#cat access_log? |cut -d ' ' -f 1 |sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 10 |less
查看日志中出現(xiàn)100次以上的IP
#cat access_log? |cut -d ' ' -f 1 |sort |uniq -c | awk '{if ($1 > 100) print $0}'|sort -nr |less
查看最近訪問量最高的文件
#cat access_log |tail -10000|awk '{print $7}'|sort|uniq -c|sort -nr|less
查看日志中訪問超過100次的頁面
#cat access_log | cut -d ' ' -f 7 | sort |uniq -c |? awk '{if ($1 > 100) print $0}' | less
統(tǒng)計某url永票,一天的訪問次數(shù)
#cat access_log|grep '12/Aug/2009'|grep '/images/index/e1.gif'|wc|awk '{print $1}'
前五天的訪問次數(shù)最多的網(wǎng)頁
#cat access_log|awk '{print $7}'|uniq -c |sort -n -r|head -20
從日志里查看該ip在干嘛
#cat access_log | grep 218.66.36.119| awk '{print $1"\t"$7}' | sort | uniq -c | sort -nr | less
列出傳輸時間超過 30 秒的文件
#cat access_log|awk '($NF > 30){print $7}' |sort -n|uniq -c|sort -nr|head -20
列出最最耗時的頁面(超過60秒的)
#cat access_log |awk? '($NF > 60 && $7~/\.php/){print $7}' |sort -n|uniq -c|sort -nr|head -100