zl程序教程

您现在的位置是:首页 >  工具

当前栏目

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

日志前端 -- 系列 访问 统计分析
2023-09-27 14:21:45 时间

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

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

两种方式各有优缺点:

CNZZ使用起来比较简单,各种指标定义清楚。但这种方式只能记录页面的访问请求,像ajax之类的请求是无法记录的,还有爬虫信息也不会记录。 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


每分钟PV曲线

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

group by order by t limit 60

image.png


前端人的日志模块实现 生活中的日志是记录你生活的点点滴滴,我们可以把每一刻所发生的事情都记录下来,后面我们有需要的时候还可以通过它来回忆。而电脑里的日志是记录电脑的操作记录,或者说是程序的执行记录,在程序出bug的时候,我们可以从日志中寻找到出错的原因,日志可以帮助我们排除bug。但程序运行产生的日志是巨量的,所以电脑里的日志可以是有价值的信息宝库,也可以是毫无价值的数据泥潭,但日志记录是每一个系统必不可少的模块。
前端如何进行日志驱动开发 日志在开发过程中的作用自不必说,一旦程序出现问题,我们首先想到的是通过日志监控去追查。 好的日志可以通过应用程序执行的历史记录模拟出用户在使用程序的时候操作的完整过程。
如何优雅地上报前端监控日志 - 页面在用户那里运行,如果10%的用户页面出现问题而自己本地没有办法重现? - 如何先一步了解到前端出现的问题,而不是等用户反馈? - 能不能像查看服务端日志一样来定位前端页面运行的问题? 前端在业务复杂度越来越高的情况下,本地即使做了充分的测试,依照[caniuse](https://caniuse.com)做了很多兼容,依然无法让人放心页面能否正常运行或者运行得怎么样。
春招季,这份前端学习及面试指南请查收 大家好,我是剽悍一小兔,一个在IT行业摸爬滚打六年之久的码农。主要从事Java后端,和部分前端业务的设计与开发,参与过多个大型金融,政府系统的开发,也是《JavaScript百炼成仙》的作者。 正值春招季,让我们就几个前端的热点问题来简单聊一聊吧~
学习前端1 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
阿里云存储服务 193997 阿里云存储基于飞天盘古2.0分布式存储系统,产品包括对象存储OSS、块存储Block Storage、共享文件存储NAS、表格存储、日志存储与分析、归档存储及混合云存储等,充分满足用户数据存储和迁移上云需求,连续三年跻身全球云存储魔力象限四强。