前端质量之灰度监控的有效实践

2022-03-18  本文已影响0人  涅槃快乐是金

本文将介绍更聚焦灰度监控的报警配置,希望有助于大家对灰度监控监控系统的认识,以及在技术选型时做出更合适的选择。
原文:https://juejin.cn/post/7067465200097558541

背景

回顾过去3年,前端故障总量并不算太大,但背后的数据反映出经济体前端的安全生产,特别是高可用这个子域,正处于一个相对比较低的水位:经济体故障监控发现率46.8%,但其中前端故障的监控发现率仅为 22.7% ,与期望的监控水平相去甚远!因此我们开始专门起项治理前端质量,主要抓手通过监控报警,进行一段时间也取得了一定成效。
在分析遗漏的几个线上问题,尤其是报警没有报出来的,且较为严重(白屏、跳转故障等),都有以下共同点:

因此在报警已经配置的比较全面的下一阶段,我们更需要聚焦于灰度监控\

灰度监控的重要性

从保稳定看
从提效看

灰度监控的效果非常明显: 以我们detail详情页为例,接入监控4个月共发布27次,在灰度阶段共发现5个问题,遗漏1个问题但不影响主流程

灰度阶段如何监控

灰度阶段的日志监控过程

灰度监控主要从开始灰度到灰度99%阶段保持一定频率的监控发送报告 为什么是发送分析结果报告?

具体步骤可见下图

监控指标和异常分析

我们捞取sls日志,分别对api错误,js错误,流量,业务埋点,性能埋点的各项异常数据进行分析,而在灰度阶段新增错误尤为重要,存量错误和总计数据会进行环比、日同比、周同比这类的比较分析

以下进行具体数据拆解

api错误

因为api错误的统计标准与我们的实际需求有出入(见下图)我们主要看新增错误、同比环比数据

js错误
image
流量异常
业务埋点异常

用于业务自定义的埋点,方便做含有业务属性的统计

image image
性能监控

前端在各个环节加上埋点上报,然后做数据统计,性能的变化建议多点时间观察
(这里给的图是每日的趋势图,只为举例说明,灰度阶段是看灰度时间段和灰度前的数据,整个周期最好2天以上)

(从下图趋势看,detail页12.24的发布导致前端性能变差,需要查下原因)

image

性能监控以及分析有个更详细文档,后面会出

剔除杂音,提高洞察风险有效性

存在的大概率报异常场景

(不过一般来说发布都会人为避免以下情景)

image

需要剔除的无效数据

api错误

长连接,统计到的taobao站外的接口数据,通常我们通过like('m.taobao.com/%')直接筛选出域内数据

js错误
image

abc三类,见下图举例

image

一般加上影响用户数就可规避大部分,如下图中实例:js错误率很高的时候,影响人数其实只有1个

image

剔除无效数据,是个需要一定时间打磨的过程

建议主动自定义埋点+通用兜底

这是最好的排除无效数据的方法,但也需要进行梳理、以及手工埋点

总结

前端质量中,灰度监控,在保稳定和提效 多方位,都有明显效果,非常推荐! 同时也是需要业务前端开发和测试,甚至也会涉及到后端开发,共同齐心积极配合。 除了灰度监控,我们还有监控报警、线上巡检、性能分析,多个前端质量方案,全方位保障。

上一篇下一篇

猜你喜欢

热点阅读