一个前端项目上线后的各种指标监控是极其重要的,通过各种指标数据可以知道项目存在的问题及未来优化的方向,在各种维度监控中的异常监控是必不可少的,通过异常数据可以及时发现用户遇到的问题,而异常上报中的各种数据指标可以给解决问题提供参考及方向。
文章内所有异常上报及异常分析都是基于异常处理开源平台 Sentry ,其他异常处理平台或自建平台可根据实际情况参考。本文主要分为以下几个部分:
异常治理的重要性
前期异常数据处理
高效发现异常
高效解决异常
异常治理重要性
海恩法则指出: 每一起严重事故的背后,必然有 29 次轻微事故和 300 起未遂先兆以及 1000 起事故隐患。当一件重大事故发生后,我们在处理事故本身的同时,还要及时对同类问题的 “事故征兆” 和 “事故苗头” 进行排查处理,以此防止类似问题的重复发生,及时消除再次发生重大事故的隐患,把问题解决在萌芽状态。这个法则放在前端异常治理中同样适用,通过及时发现存在隐患的异常并及时解决,避免酿成重大事故。
用户体验
前端项目的用户体验是很重要的一环,特别是公司业务面向C端的时候,一个好的用户体验可以更高的促进业务漏斗的转化。
新增异常监控后,所有收到的异常数据都是实时的,异常发生时我们可以第一时间知晓且及时处理,对所有异常数据都要积极处理,不可敷衍了事,不能等到用户反馈时才打开异常平台修复问题,当你已经从其他渠道得到反馈有异常时,说明问题已经扩散到很大的范围了,这个时候才想起去看异常平台数据时没有将平台的作用最大化,也给用户带来了不好的体验。
这里说的第一时间及时处理,并不是随时都在观察是否有新的异常产生,我们只需要在关键的节点提高警惕即可,主要是系统发布新的功能时,但这并不局限于本系统,比如 App 项目中 H5 未发布,但是App发布了新的版本;后端接口发布了新的版本;用户升级了新的系统版本等会需要及时观察是否存在异常数据波动。除此之外可能还有设备兼容性问题,复杂业务操作等产生的问题,这类问题可通过其他手段监测及时发现,后面的文章会说明。
公司成本
某些异常是不影响用户使用的过程,比如组件卸载时未及时移除定时器或绑定的事件,虽然用户是无感知的,但是异常数据会源源不断的上报,如果这是一个日均PV上百万的项目,可想而知每天会产生多少新的数据,会造成多少网络流量的浪费。所以要及时处理异常,特别是高频发生,稳定复现的问题,减少网络流量及异常平台服务器的压力,及时减轻公司的运营成本。