Nginx基础篇-Nginx的日志模块~日志分析

本文介绍了如何使用grep、awk等工具对Nginx日志进行分析,包括统计特定日期的PV量、8点至9点的访问量、访问最多的10个IP、访问大于100次的IP、访问最多的10个页面、每个页面的内容总大小、每个IP访问状态码数量以及404状态码的统计。此外,还展示了统计前一分钟PV量和特定时间段内IP访问404状态码数量的方法,帮助理解Nginx日志分析的基本操作。
摘要由CSDN通过智能技术生成

Nginx基础篇-Nginx的日志模块~日志分析

常用字段

$remote_addr $1----远程客户端地址
$time_local $4-----本机时间
$request $7-----请求URL
$status $9-----状态码
$body_bytes_sent $10----请求体积

  1. 统计2017年9月5日 PV量
grep '05/Sep/2017' cd.mobiletrain.org.log | wc -l

2.统计8点到9点之间得

grep '05/Sep/2017:08' cd.mobiletrain.org.log | wc -l
awk '$4>="[05/Sep/2017:08:00:00" && $4<="[05/Sep/2017:08:00:00" {print $0}' cd.mobiletrain.org.log | wc -l
  1. 统计2017年9月5日 一天内访问最多的10个IP(ip top10)
grep '05/Sep/2017' cd.mobiletrain.org.log | awk '{ ips[$1]++ } END { for(i in ips) { print i ,ips[i] } }' | sort -k2 -rn | head -n10
  1. 统计2017年9月5日 访问大于100次的IP
grep '05/Sep/2017' cd.mobiletrain.org.log | awk '{ ips[$1++] } END {for (i in ips) {if (ips[i] > 100) {print i ,ips[i] } }}' | sort -k2 -rn | head -n10
  1. 统计2017年9月5日 访问最多的10个页面($request top 10)
grep '05/Sep/2017' cd.mobiletrain.org.log |awk '{urls[$7]++} END{for(i in urls){print urls[i],i}}' |sort -k1 -rn |head -n10
  1. 统计2017年9月5日 每个URL访问内容总大小($body_bytes_sent)
grep '05/Sep/2017' sz.mobiletrain.org.log | awk '{ urls[$7]++; size[$7]+=$10} END{for(i in urls){print urls[i],size[i],i}}'| sort -k1 -rn | head -n10
  1. 统计2017年9月5日 每个IP访问状态码数量($status)
grep '05/Sep/2017' cd.mobiletrain.org.log | awk '{ ip_code[$1" "$9]++}END{ for(i in ip_code){print i,ip_code[i]} }' | sort -k1 -rn | head -n10
  1. 统计2017年9月5日 IP访问状态码为404及出现次数($status)
grep '05/Sep/2017' cd.mobiletrain.org.log | awk '$9=="404"{ccc[$1" "$9]++} END{for(i in ccc){print i,ccc[i]}}'  |  sort -k3 -rn
grep '05/Sep/2017' sz.mobiletrain.org.log | awk '{if($9="404"){ip_code[$1" "$9]++}} END{for(i in ip_code){print i,ip_code[i]}}'
  1. 统计前一分钟的PV量
date=$(date -d '-1 minute' +%d/%b/%Y:%H:%M);awk  -v date=$date '$0 ~ date {i++} END{print i}'  sz.mobiletrain.org.log
  1. 统计2017年9月5日 8:30-9:00,每个IP,出现404状态码的数量
awk '$4>="[05/Sep/2017:08:30:00" && $4<="[05/Sep/2017:09:00:00" {if($9="404"){ip_code[$1" "$9]++}}END{for(i in ip_code){print i,ip_code[i]}}' sz.mobiletrain.org.log 
  1. 统计2017年9月5日 各种状态码数量
grep '05/Sep/2017' sz.mobiletrain.org.log  | awk '{code[$9]++} END{for(i in code){print i,code[i]}}'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值