日志系列--前端访问日志的统计分析

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 简介 很多个人站长在搭建网站时使用nginx作为服务器,为了了解网站的访问情况,一般有两种手段: 使用CNZZ之类的方式,在前端页面插入js,用户访问的时候触发js,记录访问请求。 分析nginx的access log,从日志中挖掘有用信息。

简介

很多个人站长在搭建网站时使用nginx作为服务器,为了了解网站的访问情况,一般有两种手段:

  1. 使用CNZZ之类的方式,在前端页面插入js,用户访问的时候触发js,记录访问请求。
  2. 分析nginx的access log,从日志中挖掘有用信息。

两种方式各有优缺点:

  1. CNZZ使用起来比较简单,各种指标定义清楚。但这种方式只能记录页面的访问请求,像ajax之类的请求是无法记录的,还有爬虫信息也不会记录。
  2. access log对所有的请求都有记录,可以说信息非常详细,但需要站长对访问日志具备详细的了解和动手能力。

两种手段相互补充,才能对网站的状况有更加深入的了解。

阿里云日志服务产品在最新版中增强查询分析功能(LogSearch/Analytics),支持对日志数据实时索引与查询分析,能够在秒级别对亿级别数据完成统计,极大的降低了站长们分析access log的门槛。本文将详细介绍如何使用日志服务分析access log中的各种指标。

一个典型的访问日志,包括了以下几点:

1. remote_addr : 客户端地址
2. remote_user : 客户端用户名
3. time_local : 服务器时间
4. request : 请求内容,包括方法名,地址,和http协议
5. http_host : 用户请求是使用的http地址
6. status : 返回的http 状态码
7. request_length : 请求大小
8. body_bytes_sent : 返回的大小
9. http_referer : 来源页
10. http_user_agent : 客户端名称
11. request_time : 整体请求延时

下面是一段访问日志的样例:

body_byte_sent:  81        hostname:  www.host.com    http_user_agent:  Mozilla/5.0 (Linux; U; Android 7.1.1; zh-CN; ONEPLUS A5000 Build/NMF26X) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/40.0.2214.89 UCBrowser/11.6.4.950 Mobile Safari/537.36        method:  GET        referer:  www.host0.com    remote_addr:  14.116.141.67    request_length:  196    request_time:  4.68status:  200    upstream_response_time:  3.94725168222    url:  /path9?k0=v7&k1=v1&

保存在日志服务中的日志:
image.png

统计样例

  1. 每分钟PV曲线

    *|select from_unixtime( __time__- __time__% 60) as t,       count(1) as pv        
    group by        order by t limit 60

    image.png

  2. 热门页面

    *|select url,count(1) as pv group by url order by pv desc limit 10

    image.png

  3. 各种HTTP状态码

    *| select status, count(1) as pv group by status

    image.png

  4. 来源页面统计

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

    image.png

dashboard

日志服务提供dashboard展示所有的指标:

image.png
dashboard链接

试用日志服务

查询链接
dashboard链接

以下5个子帐号供试用,请随机选择一个登录,若登录不成功请换一个子帐号尝试:

登录地址 用户名 密码
链接 sls_reader1@1654218965343050 pnX-32m-MHH-xbm
链接 sls_reader2@1654218965343050 pnX-32m-MHH-xbm
链接 sls_reader3@1654218965343050 pnX-32m-MHH-xbm
链接 sls_reader4@1654218965343050 pnX-32m-MHH-xbm
链接 sls_reader5@1654218965343050 pnX-32m-MHH-xbm
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2天前
|
监控 前端开发
|
8月前
|
运维 监控 前端开发
前端错误监控和日志记录的实践
在现代Web应用程序中,前端错误监控和日志记录是保障应用稳定性和用户体验的关键步骤。通过监控和记录前端错误,我们可以及时发现和解决潜在的问题,提高应用程序的质量。本文将介绍前端错误监控和日志记录的实践方法,并展示如何使用现有工具来实现这些功能。
306 0
|
10月前
|
消息中间件 监控 前端开发
前端日志采集方案浅析
在前端部署过程中,通常会使用nginx作为部署服务器,而对于默认的nginx服务来说,其提供了对应的日志记录,可以用于记录服务器访问的相关日志,对于系统稳定性及健壮性监控来说,日志采集、分析等能够提供更加量化的指标性建设,本文旨在简述前端应用及打点服务过程中所需要使用的nginx采集方案。
127 0
|
存储 Web App开发 运维
【老板要你啥都会系列】| 前端晋升全栈--项目日志
日志包含什么访问人数啊、峰值啊、 bug 啊什么的,如果没有日志那么很容易失控。 访问日志可以参考我们 http-server ,每次访问都会有这些东西。
  【老板要你啥都会系列】| 前端晋升全栈--项目日志
|
存储 Prometheus Kubernetes
轻量级日志可视化平台Grafana Loki接入nginx访问日志
轻量级日志可视化平台Grafana Loki接入nginx访问日志
1281 0
轻量级日志可视化平台Grafana Loki接入nginx访问日志
|
SQL 分布式计算 监控
4-网站日志分析案例-日志数据统计分析
文章目录 4-网站日志分析案例-日志数据统计分析 一、环境准备与数据导入 1.开启hadoop
4-网站日志分析案例-日志数据统计分析
|
前端开发 JavaScript 开发者
网站流量日志埋点收集—前端收集数据脚本|学习笔记
快速学习网站流量日志埋点收集—前端收集数据脚本
198 0
网站流量日志埋点收集—前端收集数据脚本|学习笔记
|
SQL 监控 开发者
网站流量日志分析--统计分析--新老访客需求剖析|学习笔记
快速学习网站流量日志分析--统计分析--新老访客需求剖析
165 0
网站流量日志分析--统计分析--新老访客需求剖析|学习笔记
|
SQL 监控 HIVE
网站流量日志分析--统计分析--新老访客实现(join 语句)|学习笔记
快速学习网站流量日志分析--统计分析--新老访客实现(join 语句)
184 0
网站流量日志分析--统计分析--新老访客实现(join 语句)|学习笔记
|
SQL 监控 数据可视化
网站流量日志分析--统计分析--受访分析热门页面 topN|学习笔记
快速学习网站流量日志分析--统计分析--受访分析热门页面 topN
139 0
网站流量日志分析--统计分析--受访分析热门页面 topN|学习笔记

相关产品

  • 日志服务