nginx日志分析

分析access_https.log获得访问前10位的ip地址

awk '{print $1}' access_https.log |sort|uniq -c|sort -nr|head -10
结果:

1
2
3
4
5
6
173 66.249.79.139
112 66.249.79.63
84 61.183.136.50
83 66.249.79.141
77 66.249.79.143
72 45.32.251.119

blog没建多久。
前五个都是googlebot的ip。
自己写的东西除了自己在看,就是bot了。

分析access_https.log获得访问前10位的useragent

awk -F '"' '{print $6}' access_https.log |sort|uniq -c|sort -nr|head -10
结果:

1
2
3
4
5
6
7
8
9
10
661 Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
260 Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0
196 Mozilla/5.0 (Linux; U; Android 5.0.2; zh-CN; Redmi Note 3 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 OPR/11.2.3.102637 Mobile Safari/537.36
121 Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36
85 -
80 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0
74 Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:53.0) Gecko/20100101 Firefox/53.0
69 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.1.1 Safari/603.2.4
49 Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
44 Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)

主要也是bot

分析非本面的引用来源

awk -F '"' '{print $4}' access_https.log |sort|uniq -c|sort -nr | grep -v "fengcl.com"
结果:

1
2
3
4
5
6
7
8
9
19 http://www.baidu.com/search/spider.htm
7 https://www.google.com.hk/
4 https://www.google.co.jp/
3 https://www.google.com/
3 http://google.com
2 https://www.google.com.tw/
1 http://www.bing.com/search?q=amazon
1 https://www.google.fr/
1 https://www.google.com.br/

有少部分来自google。
在站点的robots.txt中屏蔽了百度的蜘蛛,奇怪还有么多引用。

文本类非蜘蛛访问地址

cat access_https.log | grep -v -E "\.js|\.css|\.woff|\.ico|Googlebot" | awk -F '"' '{print $2}' |sort|uniq -c|sort -nr | head -20

结果:

1
2
3
4
5
6
7
8
9
10
11
12
229 GET / HTTP/1.1
38 GET / HTTP/2.0
30 GET / HTTP/1.0
28 GET /robots.txt HTTP/1.1
20
17 GET /2017/07/08/use-nginx-proxy-google/ HTTP/2.0
9 GET /2017/07/08/use-nginx-proxy-google/ HTTP/1.1
7 GET /sitemap.xml HTTP/1.1
6 GET /2017/07/01/sublime-plugin-gist-source-code-analysis-2/ HTTP/2.0
6 GET /2017/06/20/how-to-build-images-bed-system/ HTTP/1.1
5 GET /categories/ HTTP/1.1
5 GET /archives/ HTTP/1.1

这是可以看到常访问的页面。
那个17的就是在QQ群中发过连接,可能就多些。

命令解释

  • awk -F '"' '{print $6}:表示以’”‘为分格符,打印第6行的内容

  • grep -v -E "\.js|\.css|\.woff|\.ico|Googlebot": 表示排除.js,.css.wof.ico,bot字符,-v是排除,-E正则表达式。

  • sort:排序,-n以数字方式排,-r反序
  • uniq:去重,-c,计数
  • head -10 取前10行