P7 前端必备技能,如何搭建一个前端监控系统

SegmentFault

共 2004字,需浏览 5分钟

 ·

2020-08-21 13:27

我敢说,50% 的前端程序员都很难接触到实践前端埋点与监控。当然,就算有机会接触到前端监控的前端,一旦遇到相关问题也十分令人痛苦了。


用户在实际场景重的一系列操作,外加一些类似机型、网络环境的问题,让前端很难在开发环境中复现出来。特别是前端在没有监控加持的情况下,需要人肉解决问题,还要应对产品的需求轰炸,真是太难了。



为什么要做前端监控?


前端工程师们常与页面打交道,一个页面的加载速度、操作流畅度都实时影响着用户体验,进而影响产品的收益。同样,页面的性能好坏也影响着 SEO,会增加页面跳出率,进而影响搜索排名权重,影响网站的流量。

另外说一点,利用第三方的线上工具用来进行监测可能会与实际结果偏离,如开头讲的,实际情况错综复杂,需要具体问题具体对待。

那能不能试试第三方的监控工具?的确,市面上开源的、收费的监控系统有很多,对应的功能也很多·,但是有一些功能只在付费的监控系统中存在,而开源的没有,这就需要自己去动手定制,去熟悉他人源码的过程,这个过程其实都能自建一个前端监控系统了。


前端监控都在控制什么?


前端监控主要有三大块,分别是:异常监控、性能监控与设备信息采集。这里我只简单的罗列了一些需要注意的点。


前端监控除了以上的模块,也有一些标准可以作为参考,下图是 W3C 第一版的 Navigation Timing 的处理模型。


图中的步骤从卸载旧文档、重定向/卸载、应用缓存、DNS 解析、TCP 握手、HTTP 请求处理、HTTP 响应处理、DOM 处理,到最后文档上传完成,每一步都可能会遇到不同的问题。


前端监控搭建过程中的一些问题


我找了一些问题供自建的同学参考一下,了解一下自建过程中遇到的问题。
  • 数据收集如何衡量是否会影响用户端性能?
  • 如何统计页面所有 AJAX 性能数据,如何知道所有 AJAX 已加载完毕?
  • 如何知道一个用户访问了哪些页面,访问深度何如,怎么跟踪记录?
  • 如何解决数据频繁写入数据量太大的问题,数据库应该怎么设计或处理?
  • 如何验证采集到数据的准确性?

以上这些问题,如果只是用搜索引擎,找到的更多的是大厂监控系统的 PR 稿,很难看到有体系内容介绍监控系统的搭建。那么,有没有什么体系的内容从零到一的来讲解前端监控系统搭建?

阿里、网易前端技术专家阿里一哥的《从0构建私有前端监控系统【P7】》从自主监控数据采集、打造可视化数据分析大盘到实时监控警告系统开发都有详解,共21个课程小节,覆盖前端监控系统方方面面,帮助你解决搭建私有前端监控系统无从下手的困扰。




课程介绍




自主监控数据采集
市面上大部分监控系统都是是结合开源监控做的,性能和自由度受限。本课程讲解前端监控设计架构,各个监控项采集数据的原理,手把手和你一起编写监控采集脚本,具有自主性和灵活的业务扩展能力。

打造可视化数据分析大盘
介绍数据分析思维,讲解如何从数据角度发现、分析、定位问题。结合阿里云SLS日志服务分析监控数据,构建可视化数据分析大盘,分析业务数据。

实时监控警告系统开发
从业务角度出发,基于稳定性和性能体验,构建业务大盘,根据数据情况构建稳定性和体验相关数据监控告警,基于邮件、钉钉、电话等准实时告警到业务,及时发现问题。



课程大纲




前端监控架构设计
  • 课时1:为什么要做前端监控?
  • 课时2:前端监控什么数据?
  • 课时3:前端监控架构设计

编写监控采集脚本
  • 课时4:设计监控上报数据模型
  • 课时5:开通 SLS 日志服务
  • 课时6:如何通过 webTrack 上报数据
  • 课时7:JS 错误和资源采集
  • 课时8:接口错误采集
  • 课时9:白屏错误统计方法和代码
  • 课时10:页面加载时间计算方法和代码实现
  • 课时11:FP/FCP/FMP/FID 时间原理介绍
  • 课时12:FP/FCP/FMP/FID 时间代码实现
  • 课时13:卡顿原理和采集代码实现
  • 课时14:TBT 体验指标计算原理
  • 课时15:PV 和自定义指标采集

数据分析大盘
  • 课时16:如何做数据查询和可视化
  • 课时17:搭建可视化数据大盘
  • 课时18:参数化数据查询与大盘构建

数据监控告警
  • 课时19:监控和告警的区别
  • 课时20:设置 JS 同步增长告警
  • 课时21:告警准确性问题


你能学到什么?

  • 了解前端监控架构设计
  • 设计监控上报数据模型
  • 页面性能监控代码实现
  • 学会搭建可视化数据大盘
  • 数据监控告警系统搭建



讲师介绍




阿里一哥 - 高级技术专家


阿里、网易前端技术专家,负责流程驱动引擎、可视化搭建、前端发布、构建平台等技术能力建设,带领业务团队,负责整体业务线。



适用人群




1、初中级未曾接触前端监控的前端工程师
2、有准备面试冲刺大厂的前端工程师
3、项目中遇到监控技术瓶颈的前端工程师


点击「阅读原文」,查看课程详情
浏览 29
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报