网站流量日志埋点收集--系统部署架构图和采集流程梳理|学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习网站流量日志埋点收集--系统部署架构图和采集流程梳理

开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第一阶段)网站流量日志埋点收集--系统部署架构图和采集流程梳理】学习笔记,与课程紧密联系,让用户快速学习知识。

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


网站流量日志埋点收集--系统部署架构图和采集流程梳理


本节内容我们学习埋点采集用户行为数据怎么系统搭建和部署。

系统环境部署

在正式安装之前,我们先画部署图从理论层面梳理系统到底怎样埋点收集用户行为数据。

部署图:

一台服务器 www.itcast.cn/indox.html 模仿首页即正常浏览网站的页面,用户通过浏览器肯定要访问这个页面,所以接下来学习用户打开页面会经过哪些流程。

第一步用户要想访问页面首先要通过浏览器输入地址,发送 request 请求,请求打开页面时页面预先埋入了一段埋点代码,所以打开页面后埋点代码开始执行。

所以第二步是用户打开页面,埋点代码匿名函数自调用执行,自己调用自己并且只调用一次,匿名函数自调用需要将真正收集数据的 js 引入页面。

第三步是把真正收集数据的 js 引入页面。(collect.js)

第四步是收集数据的 js 通过我们内置的对象采集我们页面的相关属性信息数据。

第五步是把收集的数据拼接成图片形式发送 ( <img arc=“collect.itcast.cn/log.gif?item=1111&name=allen”> )

另一台服务器 collect.itcast.cn,专门用于接受请求,它是一台特殊的服务器,特殊在它是 nginx(基于lua)。当中会有两个 location 模块,一个是 location/log.gif,另一个是 location/i-log。

所以第六步为以请求图片的形式把采集的数据发送到指定的收集数据服务器上,通过 location 匹配进行处理。第一个 location 功能是生成cookie和生成图片 log.gif。

第七步需要进行 subrequest,第二个 location 是内部模块,它做的事是解析参数和保存数据到日志文件中。

第八步是 response(图片,cookie)。

image.png

以上就完成了整个页面的交互,也是架构。

从用户的角度他们能感受到的只要打开页面,显示页面,实质上在打开页面的同时埋点代码开始执行,在后台进行一系列的操作。拉取我们的js,进行数据收集,发送参数数据,保存等,这是后端所做的事情。

自带服务器

这样就贴近于实战,也比较符合类似于京东,天猫等进行数据采集的系统。这就是埋点数据收集的架构图,结合之前剖析的原理认真理解某些模块,哪些知识点在执行什么职责。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
4月前
|
存储 监控 数据库
Django 后端架构开发:高效日志规范与实践
Django 后端架构开发:高效日志规范与实践
83 1
|
18天前
|
监控 测试技术 开发者
一行代码改进:Logtail的多行日志采集性能提升7倍的奥秘
一个有趣的现象引起了作者的注意:当启用行首正则表达式处理多行日志时,采集性能出现下降。究竟是什么因素导致了这种现象?本文将探索Logtail多行日志采集性能提升的秘密。
|
2月前
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
56 1
|
3月前
|
Kubernetes API Docker
跟着iLogtail学习容器运行时与K8s下日志采集方案
iLogtail 作为开源可观测数据采集器,对 Kubernetes 环境下日志采集有着非常好的支持,本文跟随 iLogtail 的脚步,了解容器运行时与 K8s 下日志数据采集原理。
|
2月前
|
监控 网络协议 CDN
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
|
3月前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
182 9
|
4月前
|
机器学习/深度学习 架构师 数据库
20年老架构师,劝我多看看这几个网站
20年老架构师,劝我多看看这几个网站
|
4月前
|
存储 Kubernetes Java
在k8S中,容器内日志是怎么采集的?
在k8S中,容器内日志是怎么采集的?
|
18天前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
27天前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
42 3