5

交易黄金链路阿波罗移动端异常监控系统

 2 years ago
source link: https://www.51cto.com/article/712220.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

01业务背景及目的

一般的异常数据上报只支持简单的接口状态码是否异常等基础上报,对于某些核心字段,下发值缺失导致崩溃异常不能更精细的定位。为此,阿波罗移动端设计了此业务异常监控sdk,使前后端快速配合定位问题,及时监控捕捉异常。通过制定一套完整的流程对接口异常的情况进行智能化的处理和上报,以达到:

  • 有接口异常就可以轻松的被捕获和上报到后台,期间无需开发,只需要做一些基础配置
  • 同时异常接口的信息参数(请求参数、用户手机环境、返回参数等)完整被捕获,可以在后台中看到,帮助开发人员进行问题复现和问题解决。
  • 定向对某些机型、用户、时间段进行下发数据监控

02可提供的能力

图片

sdk工作流程及配置规范

01工作流程

通过在配置平台上的配置组合实现异常捕捉功能:第一个配置是接口开关规范,开关规范是使这套流程变得更加灵活,可以按照接口来开启是否要异常上报功能;第二个配置是定向监控规范,通过配置想要监控的参数定向获取符合条件的下发全量数据;第三个配置是接口规则配置规范,因为每一个接口的数据是完全不同的,按照这套接口配置规范,研发人员可以按照接口来配置需要校验的关键节点及数据类型等信息。开发人员按照规范配置完成后,将接口数据相关信息(入参和出参)传给本系统提供的接口中。本系统将通过规范的解析和接口数据进行双重校验,校验后如果发现异常进行异常上报,上报时会捕获当前的用户环境,如机型、系统型号等一同上报。最后开发人员可在上报后台看到异常信息,并且根据全面的信息参数进行问题排查和解决。

02流程图

校验异常主要流程如下:

图片

03配置规范

1、开关的配置规范:

  • 总开关配置:一键关闭所有的接口。
  • 接口开关配置:每一个接口单独配置开启或关闭。

2、异常校验配置规范:

  • 配置整体为一个json格式,方便解析和传输。
  • 如需校验数据类型,使用type关键字。
  • 如需校验数据的值,使用value关键字,如有value则强校验值。
  • 如有层级校验关系,使用subItems关键字,来展示数据结构的层级关系。

规则中的关键字具体说明如下:

图片

当接口开关和接口规则配置都已经在配置后台配置完成后,开发人员需要在调用接口完成的代码中调用本方案提供的api,并且传入接口入参和接口出参。

3、在上述功能基础上可以按需求增加<定向监控>判断能力

移动配置中配置定向过滤规范

{
"osVersion":"14.4/Android11",//系统版本
"pin":"xxxxxx",//用户标识
"functionId":"ccart",//接口名
"startTime":"2022-03-01 17:51:54",//开始时间
"endTime":"2022-03-01 18:51:54"//结束时间
 …………
}

定向监控逻辑:

  • 命中以上配置,不进行异常验证,进行全量数据上报
  • 没有命中以上配置,则正常进行上述异常上报逻辑

04异常监控系统—校验能力示例

图片

05异常监控系统—逻辑能力示例

图片

测试数据:接口数据量312kb,包含购物车接口中100+商品(单品、套装)校验配置包含条件校验、值校验、多值校验、类型校验、空校验等基本全覆盖校验。

图片

结论:业务异常监控在正常使用中,对用户感知较小,对设备性能影响小。

接入业务方案例分享

时间:2021年11.11大促期间

案例一 主动发现问题:

在大促期间业务异常日志同时作为有效的监控手段,通过监控日志发现,购物车中的删除商品的接口一天内会出现4-5次的空车情况,属于个别异常原因,主动联系产品和服务端,推动排查问题原因,有效避免后期客诉问题。

案例二 快速定位问题:

在大促期间安卓个别机型中发现在订单详情点击去支付无法跳转到收银台页面,呈现出用户点击无反应的状态,因在大促期间线上服务端日志已关闭,前端通过业务异常日志进行查看,快速定位到问题的原因。


Recommend

  • 85

    导火索   有一天一个测试同事的一个移动端页面白屏了,看样子是页面哪里报错了。  我自己打开页面并没有报错,最后发现报错只存在于他的手机,移动端项目又是在微信环境下,调试起来会比较麻烦,最后用他手机调试才发现问题: 是他账户...

  • 70
    • www.jianshu.com 6 years ago
    • Cache

    构建前端异常监控系统 - 简书

    背景 最近,刚到新公司,对公司产品进行前端重构;在来公司近一个月中,发现以前产品问题很多,尤其兼容性问题等;在以前项目中也会经常遇到,可能因为某个兼容性问题,导致js代码出错,从而导致整个应用无法运行;但市场上,无论是pc端还是移动端,会有各种不同的...

  • 36
    • 微信 mp.weixin.qq.com 5 years ago
    • Cache

    骨干网链路异常?还是机房侧异常?

  • 36

    01 背景 企业为了能够提升线上服务的可靠性和竞争力,需要从代码端的视角来监控自己线上应用的质量和性能,因此,APM系统(应用性能监控系统)应运而生。APM系统是互联网公司最重要的基础设施之一,它可以帮助发现并解决生产环境...

  • 12
    • zhuanlan.zhihu.com 3 years ago
    • Cache

    前端异常监控系统的落地

    前端异常监控系统的落地前端开发话题下的优秀回答者在后端服务中,错误或者业务日志的记录是非常常见的一种习惯,它可以帮助开发者快速定位系统的状态、追查 bug,了解异常情况等...

  • 5

    问题背景 随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服...

  • 6

    yii-log-target - 监控系统异常且多渠道发送异常信息通知发布于 23 分钟前yii-log-target...

  • 5

    牛逼哄哄的全链路监控系统!搭建起来也没有想象中的那么难啊...发布于 8 月 17 日随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个...

  • 4

    App 现有架构挑战2013年开始All in无线到如今,阿里集团移动技术发展十余年,历经几个关键阶段:第一阶段,解决大规模业务并发研发的痛点,定义了Atlas(容器化框架, 提供组件解耦、动态性等支持)架构;第二阶段,建设ACCS(淘...

  • 3

    技术分享梳理《交易链路典型难题及优化方案》 Sep 26, 2021 2021年我司(格家网络)的技术部经历了一些变动,而我则从一名会员组的核心开发,过渡到负责电商会员线、促销线的业务,再快速成长为技术部基础服务组的...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK