access 日志分析

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"通过日志查看当天访问页面排前10的url:

#>cat access.log | grep "24/Mar/2011" | awk '{print $7}' | sort | uniq -c | sort -nr | head -n 10

通过日志查看当天ip连接数,统计ip地址的总连接数

#>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

通过日志查看当天访问次数最多的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

通过日志查看当天访问次数最多的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

通过日志查看当天指定ip访问次数过的url和访问次数:

#>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

通过日志查看当天访问次数最多的时间段

#>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

还有什么其他的,大家继续补充啦

通过日志查看某时间段访问次数最多的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访问日志分析

当前WEB服务器中联接次数最多的ip地址

#netstat -ntu |awk '{print $5}' |sort | uniq -c| sort -nr

查看日志中访问次数最多的前10个IP

#cat access_log  |cut -d ' ' -f 1 |sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 10 |less

查看日志中出现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

统计某url,一天的访问次数

#cat access_log|grep '12/Aug/2009'|grep '/images/index/e1.gif'|wc|awk '{print $1}'

前五天的访问次数最多的网页

#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

你可能感兴趣的:(access 日志分析)