跳到主要内容

认识

2024年04月30日
柏拉文
越努力,越幸运

一、认识


1.1 工作流

Web 监控是一个全链路的监控体系, 包括数据采集数据加工处理削峰限流数据上报数据聚合数据清洗数据入库数据分析数据挖掘以及根据分析结果进行针对性的调整、消息推送等。

  1. 数据采集: 包括页面性能数据异常数据用户行为资源数据个性化指标等数据采集的过程

  2. 数据加工处理: 包括数据格式化、丰富上下文信息

  3. 削峰限流: 频率限制

  4. 数据上报: 上报方式上报时机上报优化

  5. 数据聚合

  6. 数据清洗

  7. 数据入库

  8. 数据分析与挖掘: 性能数据分析、异常数据分析、用户行为数据分析

  9. 消息推送

1.2 上报设计

二、上报方式


得到了经过 Sentry 处理好的错误数据, 我们需要调用 currentHub.captureEvent 进行数据上报。我们来看看目前主流的上报方式:

  1. 信标(Beacon API: 可以将数据以 POST 方法将少量数据发送到服务端, 保证页面卸载之前启动信标请求, 并允许运行完成且不会阻塞请求或阻塞处理用户交互事件的任务。

  2. AjaxXMLHttpRequestfetch

  3. ImageGIFPNG: 图片打点上报, 可以以向服务端请求图片资源的形式,像服务端传输少量数据,这种方式不会造成跨域

Sentry 采用的是 Ajax 的数据上报方式。

首先,日志上报并不是应用的主要功能逻辑,日志上报行为不应该影响业务逻辑,不应该占用业务计算资源;