网站流量日志分析— —数据采集—使用 web 服务器自带日志记录采集|学习笔记

简介: 快速学习网站流量日志分析——数据采集—使用 web 服务器自带日志记录采集

开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第一阶段)网站流量日志分析——数据采集—使用 web 服务器自带日志记录采集】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/693/detail/12168


网站流量日志分析——数据采集—使用 web 服务器自带日志记录采集


内容简介

一、网站流量日志数据获取

二、服务器自带日志的记录功能示例

三、小结

本节内容我们学习数据采集模块。我们如果想去开展网站的流量日志分析,首先要能够保证有数据,那么我们如何去获取用户在网站上的访问行为数据呢?

接下来就需要了解我们当下企业当中,网站到底是如何搭建起来的。那么大家就可以想一个问题,如果现在我是老板,给你来一个任务,让你去搭建一个网站,你大概需要哪些东西呢?首先可能需要去买一个服务器,然后去部署一个我们的外部容器,然后用我们的 Java 或者其他软件开发一个外部的项目步置上去,然后安装数据库,把一个 ID 制成域名,那么大家需要这些东西就可以对外提供我们的网站服务。

那么整个网站服务的核心是通过所谓的 HTTP 协议,也即 request response,这种交互的方式来完成我们网站的浏览和请求。


一、网站流量日志数据获取

比如我们现在需要访问一个网站,当我们打开百度时,百度服务器就会接触到请求,并且根据这个请求响应出页面信息,然后在浏览器中进行渲染,得到当下。那么基于这样一个网站搭建背后的技术流程,我们要想去收集用户的程序数据,就有以下方式。

从使用发展来看,主要分为两类:网站日志文件(Log files) 和页面埋点js自定义采集。

随着网站在技术和运营上的不断技术发展,人们对数据的要求越来越高,以求实现更加精细的运营来提升网站的质量。所以数据的获取方式也随着网站技术的进步和人们对网站数据需求的加深而不断地发展。

  1. 网站日志文件

记录网站日志文件的方式是最原始也是最简单的数据获取方式(因为要想搭建网站,对外提供web服务一定需要一个web 应用服务器,常见的,免费的 web 服务器有 tomcat 等,可以对外提供我们的 web 应用服务),主要在服务端完成,在网站的应用服务器配置相应的写日志的功能就能够实现,很多web应用服务器自带日志的记录功能。如 Nginx的 access. log 日志等。

image.png

图片剖析:

我们的用户不管通过什么终端(手机,浏览器,笔记本浏览器),只要在其中输入我们的页面,向我们的服务器发送一个 request 请求,那么我们的服务器就会根据请求给一个 respose,在页面上进行渲染。那么在这种请求响应的同时,我们的应用服务器就会通过内置的日志记录功能,把请求的相关数据记录下来。这时候能记录哪些字段,哪些信息是跟我们的服务器相关,你使用哪家的服务器它自带的数据收集功能已经表明了它可以收集什么。

优点是获取数据时不需要对页面做相关处理,简单便捷,自带功能,不需要配置就可以使用,可以直接开始统计相关请求信息。

缺点在收集的信息确定,有些信息无法采集,比如用户在页面端的操作(如点击,ajax 的使用等)无法记录,限制了一些指标的统计和计算,不利于维护以及收集的信息不够完整全面。


二、服务器自带日志的记录功能示例

打开课程资料,在软件中找到网络流量日志自定义采集服务,再从部署相关文档中找到 nginx.1.13.6 window.zip 压缩包,复制放在根目录下,接下来解压至当前目录中。如果此时双击 nginx.exe,就相当于笔记本变成了一个web服务器,可以对外提供 web 服务。在解压的文件夹中,logs 文件夹中 access.log(记录自带日志,访问有哪些请求) ,error.log(记录错误信息) 和 nginx.pid(记录nginx运行所谓进程号)。

当我们 nginx 启动后,通过浏览器访问本级后,这个请求能否被记录下来?

image.png

因为我们未指定相关页面,那么默认请求就会跳转至 nginx 首页。

接下来打开 access.log 中的 Edit with Notepad++查看是否被记录

image.png

查看结果是已记录

不用进行如何开发就可以进行相关日志数据的收集,说明如果我们对收集的数据要求不高的情况下,我们就可以通过我们服务器自带的日志记录功能来开展收集。

但是它存在最大弊端:它能够收集什么字段,什么信息已经在出厂时设定好了,而且有些信息想要收集但收集不到,比如:我们打开页面它可以收集,但具体点击页面什么它无法收集。这时要想精准掌握用户的行为数据,自带日志的功能无法满足,就需要通过技术去自定义采集收集。


三、小结

数据采集:数据从无到有的采集,如何把用户的访问行为记录下来变成网站的访问日志。

网站的日志文件:网站的 web 服务器自带日志记录的功能,简单便捷的收集一些基础的属性信息。

常见的 web 服务器:Tomcat,nginx,apache sever(HTTPD)。

自带服务器优点:简单便捷,自带功能,不需要配置就可以使用。

自带服务器缺点:收集信息的确定,不利于维护,收集的信息不够完整全面。

使用网站 web 服务器的日志功能可以满足基本需求但收集不够全面,有一些限制,这是第一种方式,叫做网站日志文件,服务器自带日志记录功能,可以满足我们数据从无到有的收集。

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
移动开发 数据挖掘 开发者
服务器发送事件(SSE)在现代Web开发中的关键作用
服务器发送事件(SSE)是HTML5标准协议,用于服务器主动向客户端推送实时数据,适合单向通信场景。相比WebSocket,SSE更简洁高效,基于HTTP协议,具备自动重连、事件驱动等特性。常见应用场景包括实时通知、新闻推送、数据分析等。通过Apipost等工具可轻松调试SSE,助力开发者构建高效实时Web应用。示例中,电商平台利用SSE实现秒杀活动通知,显著减少延迟并简化架构。掌握SSE技术,能大幅提升用户体验与开发效率。
|
数据采集 Web App开发 API
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
本文介绍了如何使用FastAPI和Selenium搭建RESTful接口,访问免版权图片网站Pixabay并采集图片及其描述信息。通过配置代理IP、User-Agent和Cookie,提高爬虫的稳定性和防封禁能力。环境依赖包括FastAPI、Uvicorn和Selenium等库。代码示例展示了完整的实现过程,涵盖代理设置、浏览器模拟及数据提取,并提供了详细的中文注释。适用于需要高效、稳定的Web数据抓取服务的开发者。
950 15
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
|
人工智能 运维 监控
一招高效解析 Access Log,轻松应对泼天流量
一招高效解析 Access Log,轻松应对泼天流量
286 0
一招高效解析 Access Log,轻松应对泼天流量
|
计算机视觉 Python
Flask学习笔记(六):基于Flask的摄像头-web显示代码(可直接使用)
这篇文章是关于如何使用Flask框架结合OpenCV库,通过电脑摄像头实现视频流在网页上的实时显示,并提供了单摄像头和多摄像头的实现方法。
612 2
Flask学习笔记(六):基于Flask的摄像头-web显示代码(可直接使用)
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
396 3
|
Java PHP
PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。理解其垃圾回收机制有助于开发高效稳定的PHP应用。
【10月更文挑战第1天】PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。其垃圾回收机制包括引用计数与循环垃圾回收,对提升应用性能和稳定性至关重要。本文通过具体案例分析,详细探讨PHP垃圾回收机制的工作原理,特别是如何解决循环引用问题。在PHP 8中,垃圾回收机制得到进一步优化,提高了效率和准确性。理解这些机制有助于开发高效稳定的PHP应用。
240 3
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
1337 1
|
文件存储 Python
Flask学习笔记(一):Flask Web框架
本文介绍了Flask Web框架的基本概念、安装方法、初始化参数、程序编写、静态文件显示和配置信息加载等基础知识。
353 0
|
监控 网络协议 CDN
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
|
Rust 安全 开发者
惊爆!Xamarin 携手机器学习,开启智能应用新纪元,个性化体验与跨平台优势完美融合大揭秘!
【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的巨大潜力。
232 0

热门文章

最新文章