网站流量日志分析— —数据采集—使用 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实时生图绘板
相关文章
|
8月前
|
运维 监控 安全
EventLog Analyzer:高效的Web服务器日志监控与审计解决方案
ManageEngine EventLog Analyzer是一款企业级Web服务器日志监控与审计工具,支持Apache、IIS、Nginx等主流服务器,实现日志集中管理、实时威胁检测、合规报表生成及可视化分析,助力企业应对安全攻击与合规挑战,提升运维效率。
401 1
|
安全 大数据 数据挖掘
课时9:阿里云Web应用防火墙:全面保障网站的安全与可用性
阿里云Web应用防火墙(WAF)基于阿里巴巴十年攻防经验,提供全面的网站安全防护。它通过Web应用防护、CC攻击防护和业务风控,有效应对各类网络威胁,确保网站的安全与可用性。智能双引擎技术降低误报率,实时数据分析和虚拟补丁更新保障系统安全。WAF已成功护航多个重大活动,为企业提供高效、简便的安全解决方案。
435 0
|
Web App开发 前端开发 JavaScript
Web开发者必收藏的10个实用网站,你还没收藏吗?
将这些网站收藏起来,定期访问,使它们成为您日常工作的一部分,助您在快速发展的 Web 开发领域保持领先。
534 2
Web开发者必收藏的10个实用网站,你还没收藏吗?
|
人工智能 搜索推荐 PHP
PHP在Web开发中的璀璨星辰:构建动态网站的幕后英雄###
【10月更文挑战第25天】 本文将带您穿越至PHP的宇宙,揭示其作为Web开发常青树的奥秘。通过生动实例与深入解析,展现PHP如何以简便、高效、灵活的姿态,赋能开发者打造动态交互式网站,同时不忘探讨其在新时代技术浪潮中面临的挑战与机遇,激发对技术创新与应用的无限思考。 ###
230 1
WK
|
安全 Java 编译器
C++和Java哪个更适合开发web网站
在Web开发领域,C++和Java各具优势。C++以其高性能、低级控制和跨平台性著称,适用于需要高吞吐量和低延迟的场景,如实时交易系统和在线游戏服务器。Java则凭借其跨平台性、丰富的生态系统和强大的安全性,广泛应用于企业级Web开发,如企业管理系统和电子商务平台。选择时需根据项目需求和技术储备综合考虑。
WK
588 0
|
存储 JSON 监控
FastAPI日志之谜:如何揭开Web应用监控与调试的面纱?
【8月更文挑战第31天】在现代Web开发中,日志记录对于监控应用状态、诊断问题和了解用户行为至关重要。FastAPI框架提供了强大的日志功能,使开发者能轻松集成日志记录。本文将详细介绍如何在FastAPI中设置和利用日志,包括基础配置、请求响应日志、错误处理和结构化日志等内容,帮助提升应用的可维护性和性能。
858 0
|
前端开发 安全 JavaScript
PHP与现代Web开发:探索PHP在构建动态网站中的角色和优势
【8月更文挑战第29天】 在数字时代的浪潮下,PHP以其独特的灵活性、易用性以及强大的社区支持,持续成为Web开发领域的重要力量。本文将深入探讨PHP如何适应现代Web开发的需求,通过具体示例揭示PHP的实际应用,并分析其在面对新兴技术挑战时的应对策略。我们将一探究竟,PHP如何在众多编程语言中脱颖而出,成为许多开发者和企业的首选。
|
Prometheus 监控 Cloud Native
Web服务器的日志分析与监控
【8月更文第28天】Web服务器日志提供了关于服务器活动的重要信息,包括访问记录、错误报告以及性能数据。有效地分析这些日志可以帮助我们了解用户行为、诊断问题、优化网站性能,并确保服务的高可用性。本文将介绍如何使用日志分析和实时监控工具来监测Web服务器的状态和性能指标,并提供具体的代码示例。
1244 0
【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因
【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因
395 0
|
7月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
582 10