前端怎么做好稳定性保障体系建设?精准搞定“白虎”,不用叫“广智”!

京东云开发者
• 阅读 12

作者:京东零售 刘伟东

前言背景:实话实说才能做的更好

1.业务间的监控策略层次不齐:前后端针对监控专项的标准规范缺失,导致有的业务监控完善,其他业务缺复用不了

2.集团前端监控平台能力不完善,导致告警噪音大,一线研发无法通过自行思考抽丝剥茧,做有效合理监控,久而久之,监控告警熟视无睹

3.平台大盘能力、日志能力和告警能力均欠佳,与业界差距较大,无法对已有的监控策略形成体系的工具价值

4.前端监控无法形成独立的技术价值,无体系的建设,容易让前端监控变为后端监控的重复建设。挖掘前端监控的价值点,比如用户体验、设备兼容性以及缺失等等,都应该成为前端监控独有的价值点

一、前端监控的业务价值定位

1.1 链路定位

下图的1、2、3、4、5都是会导致前端故障的通用核心链路监测点:

前端怎么做好稳定性保障体系建设?精准搞定“白虎”,不用叫“广智”!

1.3 监控分类

监控大类

· 被动采集:性能监控、资源可用性、资源加载耗时、运行时异常(兼容性等);

· 主动上报:非正常业务响应监控、业务可用性监控、渲染故障监控;

详细分类



资源可用性(通用监控SDK自动采集)

1.页面资源:(HTML)加载超时/慢访问

2.逻辑资源:(JS)加载超时/慢访问

3.样式资源:(CSS)加载超时/慢访问

4.图片资源:加载超时/慢访问

5.接口资源:超时/慢访问(前端默认3s)

6.上游依赖库/三方SDK/接口服务



故障定位(自定义上报)

目标:及时发现,快速止损。

1.客诉故障:快速根据用户信息获取会话级用户端请求/响应日志,协作后端故障定位快速止损

2.上线故障:新功能/页面/组件上线后,边界情况发生,前后端进行双线告警,被动发现及时止损

3.业务入参异常



渲染故障(自定义上报)

1.元素(组件、楼层)缺失

2.元素错乱:建设中……

3.元素露出非法值(价格为0、负数等非法金额)

4.元素渲染失败

5.元素渲染兼容性故障

6.白屏监控:建设中…



业务不可用(自定义上报)

1.系统异常(接口不可用)

2.上游服务不可用

3.接口超时

4.身份不匹配

5.无可用数据(券无品等)

6.活动太火爆

7.其他业务属性



二、监控策略&告警策略

2.1 监控标的

•重点监控对象:常驻元素重点监控、大流量页面/组件重点监控、高价值组件重点监控、易资损组件/页面重点监控;

•日常巡检对象:低活组件/页面、组件按计划按需求迭代上线监控点;

2.2 高效上报

一次上报,配套多个监控点。

利用平台的正则模糊匹配的能力,对message字段内容监控配置,可以对灵活的对一个接口的下游全链路进行监控。

2.3 有效监控(调优)

•技术方案设置监控策略,找出业务边界case;

•线上日志定期排查,丰富/调优告警和监控;

•定期清理僵尸监控和告警;

三、监控告警标准化

3.1 接口服务故障标准化

接口基础响应体结构
{
    "success": false | true, //通讯码:接口是否正常返回
    "errorCode": "xxxxxx", //错误码:标识接口响应数据异常原因与错误类别信息
    "data": {}, //业务数据:业务具体详细数据,前端使用data的数据进行具体内容的显示
    "message": "xx接口不可用",  //异常日志:简短文字说明接口异常返回具体信息与可能原因。
    ……其他字段……
}

3.2 渲染层故障标准化

故障类型 type message(采集信息) data(携带信息)
白屏 no_page 白屏_业务名_页面url 运行时异常日志、慢访问资源/接口日志
金额非法 illegal_money 金额非法_业务名_元素信息 实际金额、数据来源(functionID)、请求信息、响应信息、pin
元素缺失 no_element 元素缺失_业务名_元素信息 元素信息、数据来源(functionID)、请求信息、响应信息、pin
依赖资源故障 rely_error 依赖资源故障_业务名_资源信息 依赖资源信息、故障日志
兼容性故障 compatibility_error 兼容性故障 异常资源信息、运行时异常日志、设备信息、系统信息

3.3 上报动作标准化

monitor.reportError({
    type: 'interface_error',
    message: 'xx服务异常,故障信息:' + functionID + '...'
    data: {
        request: {...},
        response: {...}
    }
})
monitor.reportError({
    type: 'render_error',
    message: '元素缺失_xxx_楼层',
    data: {
        element: 元素信息,
        funtionID: xxx,
        request: {...},
        response: {...}
        pin: xxx
    }
})

四、故障应急SOP(精准发现故障问题)

4.1 SOP

前端怎么做好稳定性保障体系建设?精准搞定“白虎”,不用叫“广智”!

1、监控点采集上报

2、设置多条符合业务故障的告警

3、平台收到告警

4、点开告警查看故障曲线

5、根据告警信息查看具体日志、基本定位故障问题

6、提报监控平台、建立联动群进行故障进一步定位

7、报备产研潜在客诉风险、资损风险及系统功能风险

8、制定产研应急止损方案,转成技术方案

9、bugfix提测跟进上线,观察告警故障曲线

10、应急响应及业务群周知故障已解决

11、跟进故障平台、及时复盘

点赞
收藏
评论区
推荐文章
zabbix5.0安装以及配置中文
zabbix监控服务作用:1.当出现一些突发情况能及时响应。2.及时捕捉证据,追溯相关问题。监控工具的作用:1.及时定位问题无需认为干预,大大减少人力成本2.通过技术角度,实现实时监控业务,当出现问题及时定位并告警到相关管理人员3.记录并以图形化的方式展示出来,方便管理员进行系统运行性能评估4.出现故障,针对某一个性能指标,自动化执行一个指定操作。监控系统
Johnny21 Johnny21
3年前
Promethus(普罗米修斯)监控
一、任务背景某某某公司是一家电商网站,由于公司的业务快速发展,公司要求对现有机器进行业务监控,责成运维部门来实施这个项目。任务要求1)部署监控服务器,实现7x24实时监控2)针对公司的业务及研发部门设计监控系统,对监控项和触发器拿出合理意见3)做好问题预警机制,对可能出现的问题要及时告警并形成严格的处理机制4)做好监控告警系统,要求可以实
前端监控之性能与异常
作者:京东零售李菲菲1前言现有的大部分监控方案都是针对服务端的,而针对前端的监控很少,诸如线上页面的白屏时间是多少、静态资源的加载情况如何、接口请求耗时好久、什么时候挂掉了、为什么挂掉,这些都不清楚。同时,在产品推广过程中,经常需要统计页面的使用情况及用户
Chase620 Chase620
3年前
前端异常监控解决方案研究 – 腾讯CDC
前端监控包括行为监控、异常监控、性能监控等,本文主要讨论异常监控。对于前端而言,和后端处于同一个监控系统中,前端有自己的监控方案,后端也有自己等监控方案,但两者并不分离,因为一个用户在操作应用过程中如果出现异常,有可能是前端引起,也有可能是后端引起,需要有一个机制,将前后端串联起来,使监控本身统一于监控系统。因此,即使只讨论前端异常监控,其实也不能严格区分前
Wesley13 Wesley13
3年前
UAVStack的慢SQL数据库监控功能及其实现
!(https://oscimg.oschina.net/oscnet/4d6e0c184a1cee4f0acc5a7e689fc556ec7.png)UAVStack是一个全维监控与应用运维平台。UAV.Monitor具备监控功能,包含基础监控、应用/服务性能监控、日志监控、业务监控等。在应用监控中,UAV可以根据应用实例画像;其中应用实例
Stella981 Stella981
3年前
Prometheus监控告警浅析
前言最近有个新项目需要搞一套完整的监控告警系统,我们使用了开源监控告警系统Prometheus;其功能强大,可以很方便对其进行扩展,并且可以安装和使用简单;本文首先介绍Prometheus的整个监控流程;然后介绍如何收集监控数据,如何展示监控数据,如何触发告警;最后展示一个业务系统监控的demo。监控架构Prometheus的整个
API 小达人 API 小达人
1年前
Eolink Apikit 如何对所有 API 异常请求实时监控 ?
API监控适合业务在互联网上,并且用户来自多个不同的地区,且对API的要求较高的场合,用于解决以下的问题:1.发现由于网络中断或者是API响应异常等导致的服务不可用;2.及时对异常的API进行告警;3.记录监控的日志,方便排查。EolinkApikit除了提供API的管理和自动化测试等功能,还提供API监控服务,可以为API设置定时拨测,并且支持多节点监控,可以从多个不同的地区节点来模拟用户的请求进行监控。
京东云开发者 京东云开发者
5个月前
企业业务前端监控实践
监控的背景和意义在现代前端开发中,接入监控系统是一个很重要的环节,它可以帮助开发者、产品、运营了解应用的性能表现,用户的实际体验以及潜在的错误和问题,从而进一步优化用户体验,帮助产品升级迭代。背景•应用复杂性增加:随着单页应用(SPA)和渐进式网页应用(P
京东云开发者 京东云开发者
3个月前
【质量视角】可观测性背景下的质量保障思路
作者:京东保险郑飞背景介绍目前质量团队正在积极建设和完善应用监控能力,旨在能及时发现并解决问题,为线上服务稳定性保驾护航。随着可观测性概念的逐渐普及,监控的建设也有了新的挑战和使命。本文将探讨在可观测性背景下,作为一个测试人员在质量保障中的一些思路和个人思
京东云开发者 京东云开发者
11小时前
物流KA商家业务监控能力建设与实践
作者:京东物流林群一、背景在常规的运维及线上故障响应实践中,我们观察到系统监控指标(SystemLevelMetrics)的异常波动往往与业务监控指标(BusinessLevelMetrics)的异常呈现高度相关性。具体而言,当系统级监控指标出现异常时,业