日志服务-15分钟搞定NGINX访问日志分析

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
云备份 Cloud Backup,100GB 3个月
简介: 15分钟能做什么? 可能一本书只能看一个章节,慢慢品一杯咖啡才喝了一半,或许玩一把炉石传说。 日志服务11月份发布数据接入向导功能,如果平均一首歌的时间按3分钟计算,那么给我们5首歌的时间,我们一起来通过日志服务的数据接入向导快速玩转NGINX访问日志分析~

15分钟能做什么?

可能一本书只能看一个章节,慢慢品一杯咖啡才喝了一半,或许玩一把炉石传说。

日志服务11月份发布数据接入向导功能,如果平均一首歌的时间按3分钟计算,那么给我们5首歌的时间,我们一起来通过日志服务的数据接入向导快速玩转NGINX访问日志分析~

数据接入向导(Wizard)

一. 概述

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

数据源 Logtail采集配置 索引设置 自动生成仪表盘 离线投递
NGINX
MNS 消息服务
API网关
文本文件
syslog
Web Tracking
API/SDK
log4jAppender
Producer

二. 使用指引

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

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

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

create_enter.png

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

has_enter.png

1. 选择数据类型

选择 自建软件 > NGINX

datasource.png

2. 数据源设置

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

log_format.png

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

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

log_format2.png

b.应用到机器组

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

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

3. 查询分析 & 可视化

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

preview.png

日志服务提供预设的数据键名称以便分析使用,可以选择实际数据键名称(根据预览数据生成)和默认数据键名称形成映射关系,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相关文档

indexs.png

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

3.1 分析访问日志

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

image.png

  • PV/UV统计(pv_uv)

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

pv_uv.png

统计语句:

 * | 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个页面。

top_page.png

统计语句:

* | 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)

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

http_method.png

统计语句:

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

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

http_status.png

统计语句:

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

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

UA.png

统计语句:

* | 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来源于不同域名前十的占比。

referer.png

统计语句:

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

4. 投递 & ETL

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

shipper.png

总结

日志服务数据接入向导(Wizard)志在帮助用户快速接入各种日志场景,NGINX访问日志只是其中很小的一部分,各类数据源的接入也在不断更新,请拭目以待把~

c612daad0fa6b00f612323f0d400f416.gif


如有更多疑问欢迎加钉钉群号:11775223
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
15天前
|
监控
查看服务器/IIS日志、log、访问信息基本方法
除了手动查看,你也可以使用日志分析工具,如Log Parser、AWStats等,这些工具可以帮助你更方便地分析日志数据。
8 1
|
22天前
|
Java 测试技术 Apache
《手把手教你》系列基础篇(八十六)-java+ selenium自动化测试-框架设计基础-Log4j实现日志输出(详解教程)
【7月更文挑战第4天】Apache Log4j 是一个广泛使用的 Java 日志框架,它允许开发者控制日志信息的输出目的地、格式和级别。Log4j 包含三个主要组件:Loggers(记录器)负责生成日志信息,Appenders(输出源)确定日志输出的位置(如控制台、文件、数据库等),而 Layouts(布局)则控制日志信息的格式。通过配置 Log4j,可以灵活地定制日志记录行为。
33 4
|
23天前
|
前端开发 应用服务中间件 nginx
网页设计,若依项目修改(It must be done)01----若依打包位置,nginx代理前端静态资源和后端接口,就是怎样设置转载,访问固定端口,让他访问其他资料的配置文件,访问/,给你那些
网页设计,若依项目修改(It must be done)01----若依打包位置,nginx代理前端静态资源和后端接口,就是怎样设置转载,访问固定端口,让他访问其他资料的配置文件,访问/,给你那些
|
23天前
|
运维 Java Apache
Java中的日志框架:Log4j与SLF4J详解
Java中的日志框架:Log4j与SLF4J详解
|
20天前
|
XML Java 测试技术
《手把手教你》系列基础篇(八十八)-java+ selenium自动化测试-框架设计基础-Log4j 2实现日志输出-下篇(详解教程)
【7月更文挑战第6天】本文介绍了如何使用Log4j2将日志输出到文件中,重点在于配置文件的结构和作用。配置文件包含两个主要部分:`appenders`和`loggers`。`appenders`定义了日志输出的目标,如控制台(Console)或其他文件,如RollingFile,设置输出格式和策略。`loggers`定义了日志记录器,通过`name`属性关联到特定的类或包,并通过`appender-ref`引用`appenders`来指定输出位置。`additivity`属性控制是否继承父logger的配置。
22 0
|
21天前
|
JSON 应用服务中间件 开发工具
Ngnix的http块自定义服务日志,access.log和error.log,log_format指定日志输出格式设置
Ngnix的http块自定义服务日志,access.log和error.log,log_format指定日志输出格式设置
|
21天前
|
应用服务中间件 Linux 开发工具
Nginx14---目录结构分析,查看Ngnix访问日志命令的写法​
Nginx14---目录结构分析,查看Ngnix访问日志命令的写法​
|
21天前
|
XML Java 测试技术
《手把手教你》系列基础篇(八十七)-java+ selenium自动化测试-框架设计基础-Log4j 2实现日志输出-上篇(详解教程)
【7月更文挑战第5天】Apache Log4j 2是一个日志框架,它是Log4j的升级版,提供了显著的性能提升,借鉴并改进了Logback的功能,同时修复了Logback架构中的问题。Log4j2的特点包括API与实现的分离,支持SLF4J,自动重新加载配置,以及高级过滤选项。它还引入了基于lambda表达式的延迟评估,低延迟的异步记录器和无垃圾模式。配置文件通常使用XML,但也可以是JSON或YAML,其中定义了日志级别、输出目的地(Appender)和布局(Layout)。
22 0
|
23天前
|
消息中间件 NoSQL Kafka
基于Kafka的nginx日志收集分析与监控平台(3)
基于Kafka的nginx日志收集分析与监控平台(3)
|
23天前
|
消息中间件 监控 Kafka
基于Kafka的nginx日志收集分析与监控平台(2)
基于Kafka的nginx日志收集分析与监控平台(2)

相关产品

  • 日志服务