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

发表于 2年以前  | 总阅读数:382 次

本文将介绍更聚焦灰度监控的报警配置。

背景

回顾过去3年,前端故障总量并不算太大,但背后的数据反映出经济体前端的安全生产,特别是高可用这个子域,正处于一个相对比较低的水位:

经济体故障监控发现率46.8%,但其中前端故障的监控发现率仅为22.7%,与期望的监控水平相去甚远!

因此我们开始专门起项治理前端质量,主要抓手通过监控报警,进行一段时间也取得了一定成效。

在分析遗漏的几个线上问题,尤其是报警没有报出来的,且较为严重(白屏、跳转故障等),都有以下共同点:

  1. 新变更导致的
  2. 非全量,只有部分流量 某些特定情况才会出问题
  3. 发布阶段本可发现,但遗留到线上一段时间

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

灰度监控的重要性

从保稳定看

  1. 预发测试的局限性:不能全面覆盖到线上用户场景(包括多样的用户行为,丰富的客户端设备,海量的业务数据等)
  2. 发布时间节点时效性:技术同学对问题更为关注,更有积极性
  3. 及时止损:小范围的试错阶段及时发现,避免到全量发布造成较大影响后

从提效看

  1. 多端测试提效:某些多端导购页面,10%的时间就能cover掉80%以上的测试点,而剩下90%时间都可能在测多端个别异常场景,这里可以尝试用灰度方式替代
  2. 灰度验证:灰度发现的问题,修复后,除了预发测试外,某些非主流程场景可以继续小比例灰度测试

灰度监控的效果非常明显:

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

灰度阶段如何监控

灰度阶段的日志监控过程

灰度监控主要从开始灰度到灰度99%阶段保持一定频率的监控发送报告

为什么是发送分析结果报告?

  1. 现在报警太多且噪音太多,相关技术人员很容易下意识的忽略掉,
  2. 发送监控分析报告的是增加一种仪式感,让大家能重视这个报告结果内容,
  3. 部分问题通过报警发现比较难,而通过分析报告能明显发现
  4. arms系统已具有成熟报警能力~已经配置上了相关告警,我们重点做分析报告

具体步骤可见下图

  1. 灰度发布会触发日志监控,先灰度5%
  2. 在10min(一般保持在灰度5%~20%)后自动发出日志分析报告,列出各项数据,以及分析后的异常(具体见图2)
  3. 如确认为风险,则退回灰度0%,修复bug-》回归测试-》发布灰度,如此循环
  4. 如确认无异常风险,继续扩大灰度,并继续保持高频监控
  5. 灰度到99%前保持通过,发布上线

监控指标和异常分析

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

以下进行具体数据拆解

  • api错误

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

  • 错误率:主要统计同比环比。为什么不看api成功率?成功率99.5%下降到99%(下降了0.5%)数据非常不明显,失败率0.5%提升到1%(上升100%)很明显,才更能发现问题。比如我们有个detail页接口成功率常年维持在99.5%,有次发布前端bug成功率仅仅掉到99.3%,但影响了1w+用户一天

  • 错误数:(某api新增错误信息)错误数,1~2(每10分钟)是warn级别

  • 影响用户数:(某api新增错误信息)影响用户数,

  • a.会结合错误数一起看,辅助分析大量错误是否集中在个别用户上,

  • b.影响用户数权重大于错误数,说明影响面更广

  • 调用量:调用量异常也能反映前端bug,0一般是错误导致无调用,异常高一般是多次调用

  • 案例:2020.12.01 - 异常日志排查到订单结果轮询的 bug

  • 观察日志时发现有个接口突然调用量相对平日大涨,排查日志发现有同一个用户一直重复请求同一个接口,猜测可能是轮询逻辑有问题,通过排查代码发现一个取数逻辑有误引起的 bug

  • js错误

  • 错误率:同比/环比的大幅度提升,需要着重关注

  • 案例:2020.07.29 - 珍品 detail灰度中,监控发现报错率激增到10%,报错数激增到 5.6w,

  • 错误数:(新增错误信息)错误数,1~2(每10分钟)是warn级别

  • 影响用户数:(新增错误信息)影响错误数,

  • a. 会结合错误数一起看,辅助分析大量错误是否集中在个别用户上,

  • b. 影响用户数权重大于错误数,说明影响面更广

  • 案例:2020.11.26 发布珍品详情页,在灰度25%时,发现

  • 报错原因:部分拍品url上的spm存在数组引起split 方法不存在。

  • 流量异常

  • 主要看pv和uv,但需要排除大促活动、手淘大量引流等非常规因素对同比环比数据带来的影响,需要同时结合日同比、周同比、环比的各项数据都有大量偏离了才会判为异常(具体见后面的杂音处理)

  • 业务埋点异常

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

  • 成功总量埋点:需要同时结合日同比、周同比、环比的各项数据都有大量偏离了才会判为异常(具体见后面的杂音处理)
  • 案例:2012.12.1发现apush连接100%挂,以下是发送apush的opcode统计,可见12.2修复问题前它的样本量一直为0

  • 异常总量埋点:专门对异常数据进行了埋点,结合具体业务场景分析异常
  • 性能监控

前端在各个环节加上埋点上报,然后做数据统计,性能的变化建议多点时间观察

(这里给的图是每日的趋势图,只为举例说明,灰度阶段是看灰度时间段和灰度前的数据,整个周期最好2天以上)

  • 页面完全加载时间:
  • p50,表示所有样本,按从小到大排名第50%位的数据,例如下图p50=1324说明50%的页面打开小于1324毫秒,
  • p70,表示所有样本,按从小到大排名第70%位的数据,例如下图说明70%的页面打开小于1730毫秒,
  • validAvg,表示去掉尖刺(>15秒异常数据)后的平均值
  • wellRate,表示<2s的比例,下图说明约78.16%用户访问在2s内,

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

  • 页面白屏率:认为完全加载时间在5s以上(从用户体感来说5s以上已跳失,宽松点可以按照15s以上)的都是异常白屏的情况,
  • 接口耗时:接口返回耗时也会影响前端性能,主要看平均耗时(去掉了>10s杂音)参考看成功耗时和失败耗时,耗时在>500ms的重点列出,warn级别

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

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

  • 存在的大概率报异常场景

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

问题 举例描述 措施
业务在不同时段波动不一致 在凌晨量级小时剧烈波动、在白天量级大时较稳定的现象 自动动态调整阈值,避免误报
业务的冲高回落现象 拍卖接近固定时间点结拍时的大量出价,整点客户端push、商家活动带来的1h内冲高回落 若是回落到基线附近,则不报
业务的定时下跌现象 业务在固定时间点附近会出现骤跌,如01:00~07:00 设置不报时间点
大促现象 业务在每年双十一、双十二、红包期间数据和日常不一致 特定日子的数据波动实时监测,自动路由到大促模型
错误码监控中自动过滤短暂抖动 在错误码监控中,错误码经常会出现短暂的抖动后恢复到正常水位 需支持过滤历史相似的冲高抖动立即恢复现象,专注于对过高冲高、错误持续未恢复的情况进行告警
  • 需要剔除的无效数据

api错误

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

js错误

a.与客户端交互的日志数据,webview框架数据等

b.业务含义的报错,如下图举例Uncaught TypeError: Cannot read property '0' of undefined。存量的报错是因为用户手势滑动操作头图区域导致的报错

c.长连接、websocket、后端接口等引发的错误

abc三类,见下图举例

d.黄牛、机器人问题

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

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

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

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

总结‍‍‍‍

前端质量中,灰度监控,在保稳定和提效 多方位,都有明显效果,非常推荐!

同时也是需要业务前端开发和测试,甚至也会涉及到后端开发,共同齐心积极配合。

除了灰度监控,我们还有监控报警、线上巡检、性能分析,多个前端质量方案,全方位保障。

本文由哈喽比特于2年以前收录,如有侵权请联系我们。
文章来源:https://mp.weixin.qq.com/s/8Xpih14D6mglS2WiTtt73A

 相关推荐

刘强东夫妇:“移民美国”传言被驳斥

京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。

发布于:1年以前  |  808次阅读  |  详细内容 »

博主曝三大运营商,将集体采购百万台华为Mate60系列

日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。

发布于:1年以前  |  770次阅读  |  详细内容 »

ASML CEO警告:出口管制不是可行做法,不要“逼迫中国大陆创新”

据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。

发布于:1年以前  |  756次阅读  |  详细内容 »

抖音中长视频App青桃更名抖音精选,字节再发力对抗B站

今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。

发布于:1年以前  |  648次阅读  |  详细内容 »

威马CDO:中国每百户家庭仅17户有车

日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。

发布于:1年以前  |  589次阅读  |  详细内容 »

研究发现维生素 C 等抗氧化剂会刺激癌症生长和转移

近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。

发布于:1年以前  |  449次阅读  |  详细内容 »

苹果据称正引入3D打印技术,用以生产智能手表的钢质底盘

据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。

发布于:1年以前  |  446次阅读  |  详细内容 »

千万级抖音网红秀才账号被封禁

9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...

发布于:1年以前  |  445次阅读  |  详细内容 »

亚马逊股东起诉公司和贝索斯,称其在购买卫星发射服务时忽视了 SpaceX

9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。

发布于:1年以前  |  444次阅读  |  详细内容 »

苹果上线AppsbyApple网站,以推广自家应用程序

据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。

发布于:1年以前  |  442次阅读  |  详细内容 »

特斯拉美国降价引发投资者不满:“这是短期麻醉剂”

特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。

发布于:1年以前  |  441次阅读  |  详细内容 »

光刻机巨头阿斯麦:拿到许可,继续对华出口

据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。

发布于:1年以前  |  437次阅读  |  详细内容 »

马斯克与库克首次隔空合作:为苹果提供卫星服务

近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。

发布于:1年以前  |  430次阅读  |  详细内容 »

𝕏(推特)调整隐私政策,可拿用户发布的信息训练 AI 模型

据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。

发布于:1年以前  |  428次阅读  |  详细内容 »

荣耀CEO谈华为手机回归:替老同事们高兴,对行业也是好事

9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。

发布于:1年以前  |  423次阅读  |  详细内容 »

AI操控无人机能力超越人类冠军

《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。

发布于:1年以前  |  423次阅读  |  详细内容 »

AI生成的蘑菇科普书存在可致命错误

近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。

发布于:1年以前  |  420次阅读  |  详细内容 »

社交媒体平台𝕏计划收集用户生物识别数据与工作教育经历

社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”

发布于:1年以前  |  411次阅读  |  详细内容 »

国产扫地机器人热销欧洲,国产割草机器人抢占欧洲草坪

2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。

发布于:1年以前  |  406次阅读  |  详细内容 »

罗永浩吐槽iPhone15和14不会有区别,除了序列号变了

罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。

发布于:1年以前  |  398次阅读  |  详细内容 »
 相关文章
Android插件化方案 5年以前  |  237271次阅读
vscode超好用的代码书签插件Bookmarks 2年以前  |  8108次阅读
 目录