温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Nginx访问日志举例分析

发布时间:2021-12-13 09:48:54 来源:亿速云 阅读:162 作者:iii 栏目:服务器

本篇内容主要讲解“Nginx访问日志举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Nginx访问日志举例分析”吧!

数据接入向导(Wizard)

一. 概述

日志服务在12月份推出了数据接入向导(Wizard)功能,快速完成数据的采集、存储、分析、离线投递, 降低用户使用日志服务门槛,目前支持的数据源以及支持配置如下:

Nginx访问日志举例分析

二. 使用指引

如果你还没有使用过阿里云日志服务功能,可以参考五分钟快速入门。

我们先以最常见的NGINX访问日志分析开头,来一起试一试如何快速接入该类数据源。

首先可以采用如下两种方式进入数据接入向导。

  • 新建项目在创建项目和创建日志库后点击数据接入向导

Nginx访问日志举例分析

  • 已存在Logstore点击列表中数据接入向导图标进入

Nginx访问日志举例分析

1. 选择数据类型

选择 自建软件 > NGINX。

Nginx访问日志举例分析

2. 数据源设置

a.按照实际情况填写配置名称和日志路径,填写实际的log_format信息到NGINX日志格式中。

Nginx访问日志举例分析

日志服务会自动提取出相应的键名称。

注意:其中$request会被提取为request_method和request_uri两个键。

Nginx访问日志举例分析

b.应用到机器组

如果您之前没有创建过机器组,请先根据页面提示创建机器组。

注意:Logtail配置推送生效时间最长需要3分钟,请耐心等待

3. 查询分析 & 可视化

确保日志机器组心跳正常的情况下,可以通过点击右侧预览按钮获取到采集上来的数据

Nginx访问日志举例分析

日志服务提供预设的数据键名称以便分析使用,可以选择实际数据键名称(根据预览数据生成)和默认数据键名称形成映射关系,nginx访问日志提供的预设数据键如下:

body_bytes_sent bytes_sent connection connection_requests msec status time_iso8601 time_local content_length content_type host hostname remote_addr remote_port remote_user request_length request_method request_time upstream_response_time request_uri scheme server_addr server_name server_port server_protocol http_user_agent http_referer

各数据键释义可参考NGINX相关文档

Nginx访问日志举例分析

点击下一步,日志服务会为您设置好索引属性并创建nginx-dashboard仪表盘以供分析使用。

3.1 分析访问日志

建立好仪表盘之后我们就可以快速分析访问日志了,可以通过左侧导航仪表盘进入分析页面。

Nginx访问日志举例分析

  • PV/UV统计(pv_uv)

统计最近一天的PV数和UV数。

Nginx访问日志举例分析

统计语句:

* | select approx_distinct(remote_addr) as uv ,         count(1) as pv ,          date_format(date_trunc('hour', __time__), '%m-%d %H:%i')  as time         group by date_format(date_trunc('hour', __time__), '%m-%d %H:%i')         order by time         limit 1000
  • 热点访问页面统计(top_page)

统计最近一天访问最多的20个页面。

Nginx访问日志举例分析

统计语句:

* | select count(1) as pv,         split_part(request_uri,'?',1) as path         group by split_part(request_uri,'?',1)          order by pv desc          limit 20
  • 请求方法统计(http_method_percentage)

统计最近一天各种请求方法的占比。

Nginx访问日志举例分析

统计语句:

* | select count(1) as pv,         request_method         group by request_method
  • http状态码统计(http_status_percentage)

统计最近一天各种http状态码的占比。

Nginx访问日志举例分析

统计语句:

* | select count(1) as pv,         status         group by status
  • 客户端类型统计(user_agent)

统计最近一天各种浏览器的占比。

Nginx访问日志举例分析

统计语句:

* | select count(1) as pv,     case when http_user_agent like '%Android%' then 'Android'      when http_user_agent like '%iPhone%' then 'iOS' else 'unKnown' end as http_user_agent     group by case when http_user_agent like '%Android%' then 'Android'      when http_user_agent like '%iPhone%' then 'iOS' else 'unKnown' end        order by pv desc     limit 10
  • 来源页面统计(top_10_referer)

统计最近一天referer来源于不同域名前十的占比。

Nginx访问日志举例分析

统计语句:

* | select count(1) as pv,         http_referer         group by http_referer         order by pv desc

4. 投递 & ETL

除此之外还提供投递到MaxCompute(原ODPS)、OSS以及ETL服务,有兴趣的同学可参考对应帮助链接

Nginx访问日志举例分析

到此,相信大家对“Nginx访问日志举例分析”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI