Nginx日志分析
nginx日志信息 | 意义 | 列数 |
---|---|---|
$remote_addr | 客户端IP | 1 |
$time_local | 请求时间 | 4 |
$request | 请求的内容 | 7 |
$status | 状态码 | 9 |
$body_bytes_sent | 请求内容的大小 | 10 |
Nginx日志统计
-
统计网站的PV量
# 统计 2020年6月9日 的PV量 pi@raspberrypi:/usr/local/nginx/logs $ grep '09/Jun/2020' access.log | wc -l 17
# 统计 2020年6月9日12点到15点 的pv量 pi@raspberrypi:/usr/local/nginx/logs $ awk '$4>="[09/Jun/2020:12:00:00" && $4<="[09/Jun/2020:15:00:00"' access.log | wc -l 14
-
统计 2020年6月27日 一天内访问最多的5个IP
[root@shuai wwwlogs]# awk '/27\/Jun\/2020/{ips[$1]++} END{for(i in ips){print i, ips[i]}}' shuaiguoer.com.log | sort -k2rn | head -n5 43.227.136.44 117 47.240.21.20 114 81.68.128.209 98 43.227.138.118 31 147.78.65.160 8
- 统计 2020年6月27日 访问大于10次的IP
[root@shuai wwwlogs]# awk '/27\/Jun\/2020/{ips[$1]++} END{for(i in ips){if(ips[i]>10){print i, ips[i]}}}' blog.shuaiguoer.com.log 43.227.138.118 166 43.227.136.44 287 123.178.166.39 12 65.154.226.109 42
- 统计 2020年6月27日 访问最多的3个页面
[root@shuai wwwlogs]# awk '/27\/Jun\/2020/{urls[$7]++} END{for(i in urls){print i, urls[i]}}' shuaiguoer.com.log | sort -k2rn | head -n3 /tieba/do.php?donnot_sign_multith&in_thread&pw= 212 /favicon.ico 99 / 46
- 统计 2020年6月27日 每个URL访问内容的总大小
[root@shuai wwwlogs]# awk '/27\/Jun\/2020/{size[$7]+=$10} END{for(i in size){print i,size[i]}}' shuaiguoer.com.log | sort -k2rn | head /favicon.ico 53866 / 35051 /tieba/do.php?donnot_sign_multith&in_thread&pw= 31368 /wp-login.php?action=register 1972 /1002Shuai-%E5%BF%85%E7%84%B6%E7%9A%84%E5%B7%A7%E5%90%88%EF%BC%81 1752 /build 1096 /mailx/ 694 /install.php 548 /.well-known/acme-challenge/_5MOCeYu-i_q2bPqQHYgxxbD98qdeHaCAM0t1b7a39U 348 /robots.txt 292
- 统计 2020年6月27日 每个IP访问状态码数量(取前10)
[root@shuai wwwlogs]# awk '/27\/Jun\/2020/{ip_code[$1" "$9]++}END{for(i in ip_code){print i," "ip_code[i]}}' shuaiguoer.com.log | sort -k1rn | head 192.241.226.178 301 1 179.43.169.182 200 2 147.78.65.160 404 8 118.31.111.216 404 1 104.248.124.93 200 1 101.91.62.89 404 1 101.89.239.120 200 1 81.68.128.209 301 26 81.68.128.209 404 72 77.75.78.171 404 1
- 统计 2020年6月27日 IP访问状态码为404的及出现次数
[root@shuai wwwlogs]# awk '/27\/Jun\/2020/{if($9=="404"){ip_code[$1" "$9]++}}END{for(i in ip_code){print i," "ip_code[i]}}' shuaiguoer.com.log | sort -k3rn | head 47.240.21.20 404 114 43.227.136.44 404 93 81.68.128.209 404 72 43.227.138.118 404 18 147.78.65.160 404 8 66.249.79.179 404 2 101.91.62.89 404 1 118.31.111.216 404 1 61.129.6.174 404 1 61.151.178.174 404 1
- 统计前一分钟的pv量
[root@shuai wwwlogs]# date=`date -d '-5 minute' +%d/%b/%Y:%H:%M`; awk -v date=$date '$0 ~ date{i++} END{print i}' shuaiguoer.com.log 2
- 统计 2020年6月29日 20:00 ~ 21:00,访问状态码是404的ip和次数
[root@shuai wwwlogs]# awk '$4>="[29/Jun/2020:20:00:00" && $4<="[29/Jun/2020:21:00:00" {if($9=="404"){ip_code[$1" "$9]++}} END{for(i in ip_code){print i," "ip_code[i]}}' shuaiguoer.com.log 219.139.135.2 404 1 147.78.65.160 404 2 116.202.13.69 404 1
- 统计 2020年6月29日 各种状态码数量
[root@shuai wwwlogs]# awk '/27\/Jun\/2020/ {code[$9]++} END{for(i in code){print i,code[i]}}' shuaiguoer.com.log 301 29 304 18 200 30 404 313