192.168.31.250 - - [13/Nov/2019:08:38:07 +0800] "GET /aa HTTP/1.1" 404 571 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362" "-"
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
字段 |
说明 |
$remote_addr | 客户端地址 |
$remote_user | 客户端用户名称 |
$time_local | 访问时间和时区 |
$request | 请求的URI和HTTP协议 |
$http_host | 请求地址,即浏览器中你输入的地址(IP或域名) |
$status | HTTP请求状态 |
$upstream_status | upstream状态 |
$body_bytes_sent | 发送给客户端文件内容大小 |
$http_referer | url跳转来源 |
$http_user_agent | 用户终端浏览器等信息 |
$ssl_protocol | SSL协议版本 |
$ssl_cipher | 交换数据中的算法 |
$upstream_addr | 后台upstream的地址,即真正提供服务的主机地址 |
$request_time | 整个请求的总时间 |
$upstream_response_time | 请求过程中,upstream响应时间 |
常用分析结构
awk '{if ($9~/502|499|500|503|404/)print $1,$9}' access.log |sort|uniq -c |sort -nr |awk '{if ($1 > 1)print $2}' #分析状态码等错误信息页面,打印大于一次的IP地址 sed -n "/2019:06:00/,/2019:13:00/p" access.log #按时间选出日志 awk '{print $1}' access.log |sort |uniq -c |sort -nr |head -20 #访问量前20 的IP awk '{print $11}' access.log |sort -r |uniq -c |wc -l #服务器的UV统计 #UV( unique visitor,网站独立访客) #通过互联网访问、流量网站的自然人。1天内相同访客多次访问网站,只计算为1个独立访客。该概念的引入,是从用户个体的角度对访问数据进行划分。 awk '{print $7}' access.log |wc -l #服务器的总PV量 #PV(page view,页面浏览量) #用户每打开1个网站页面,记录1个PV。用户多次打开同一页面,PV值累计多#次。主要用来衡量网站用户访问的网页数量。是评价网站流量最常用的指标之一。 普及知识: #VV(video view,视频播放量) #一个统计周期内,视频被打开的次数。 #CV(Content Views,内容播放数) #一个统计周期内,视频被打开,且视频正片内容(除广告)被成功播放的次数。 #VV和CV属于播放类指标,PV、UV、IP属于浏览类指标。