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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习网站流量日志分析——数据采集—使用 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实时生图绘板
相关文章
|
7月前
|
监控 安全 BI
防火墙事件日志及日志分析
在网络安全防护体系中,防火墙作为抵御外部威胁的第一道防线,其重要性不言而喻。而对防火墙日志进行分析,更是深入了解网络流量、发现潜在安全风险的关键手段。
551 1
|
2月前
|
运维 监控 安全
EventLog Analyzer:高效的Web服务器日志监控与审计解决方案
ManageEngine EventLog Analyzer是一款企业级Web服务器日志监控与审计工具,支持Apache、IIS、Nginx等主流服务器,实现日志集中管理、实时威胁检测、合规报表生成及可视化分析,助力企业应对安全攻击与合规挑战,提升运维效率。
133 0
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
3323 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
6月前
|
监控 容灾 算法
阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
本文探讨了如何高效、经济且可靠地将海外应用与基础设施日志统一采集至阿里云日志服务(SLS),解决全球化业务扩展中的关键挑战。重点介绍了高性能日志采集Agent(iLogtail/LoongCollector)在海外场景的应用,推荐使用LoongCollector以获得更优的稳定性和网络容错能力。同时分析了多种网络接入方案,包括公网直连、全球加速优化、阿里云内网及专线/CEN/VPN接入等,并提供了成本优化策略和多目标发送配置指导,帮助企业构建稳定、低成本、高可用的全球日志系统。
737 54
|
11月前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
301 9
|
6月前
|
SQL 监控 关系型数据库
MySQL日志分析:binlog、redolog、undolog三大日志的深度探讨。
数据库管理其实和写小说一样,需要规划,需要修订,也需要有能力回滚。理解这些日志的作用与优化,就像把握写作工具的使用与运用,为我们的数据库保驾护航。
270 23
|
9月前
|
存储 SQL 关系型数据库
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log、原理、写入过程;binlog与redolog区别、update语句的执行流程、两阶段提交、主从复制、三种日志的使用场景;查询日志、慢查询日志、错误日志等其他几类日志
726 35
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
|
8月前
|
监控 Java 应用服务中间件
Tomcat log日志解析
理解和解析Tomcat日志文件对于诊断和解决Web应用中的问题至关重要。通过分析 `catalina.out`、`localhost.log`、`localhost_access_log.*.txt`、`manager.log`和 `host-manager.log`等日志文件,可以快速定位和解决问题,确保Tomcat服务器的稳定运行。掌握这些日志解析技巧,可以显著提高运维和开发效率。
754 13
|
9月前
|
存储 缓存 关系型数据库
图解MySQL【日志】——Redo Log
Redo Log(重做日志)是数据库中用于记录数据页修改的物理日志,确保事务的持久性和一致性。其主要作用包括崩溃恢复、提高性能和保证事务一致性。Redo Log 通过先写日志的方式,在内存中缓存修改操作,并在适当时候刷入磁盘,减少随机写入带来的性能损耗。WAL(Write-Ahead Logging)技术的核心思想是先将修改操作记录到日志文件中,再择机写入磁盘,从而实现高效且安全的数据持久化。Redo Log 的持久化过程涉及 Redo Log Buffer 和不同刷盘时机的控制参数(如 `innodb_flush_log_at_trx_commit`),以平衡性能与数据安全性。
376 5
图解MySQL【日志】——Redo Log

热门文章

最新文章