作者:常晓山
时间:2018-04-13


1.订单监控目标

针对订单线业务流程,实现端到端业务交付流程运行状况的全面、准确、及时反映;通过对业务运行指标的分析及早发现业务和系统运行过程中的潜在问题;帮助运维人员快速定位应用程序漏洞或系统故障,控制业务差错,保障业务质量;进而为业务流程优化提供依据。

2.订单全链路监控方式

订单全链路监控是基于订单整个生命周期上各关键节点的处理效率的量化指标监控,覆盖订单创建、订单推送、 订单处理、仓库作业、物流配送、消费者收货确认的全部阶段,通过多维度数据监控,帮助商家及时了解订单业务处理效率。目前淘宝推出自己的订单全链路监控产品。订单全链路监控提供订单整个生命周期上各关键节点的处理效率的量化指标监控,覆盖订单创建、订单推送、 订单处理、仓库作业、物流配送、消费者收货确认的全部阶段,采集的数据来自于淘宝交易平台、数据推送服务、奇门、菜鸟、以及服务商ERP/WMS系统回流。 订单全链路监控对服务商和商家都提供了一套图表视图,展示多个维度的效率指标,包括各节点订单处理完成率、处理速率、单个订单的状态排查等,对于商家还提供所在行业的横向对比,帮助商家了解自已店铺在该行业中业务处理水平。

2.1 使用方式

无论是淘宝推出的监控产品都需要按照如下步骤接入监控。

tg监控数据库订单通知 订单监控系统_自定义


♦ 增加订单分析代码或者SDK:在代码中引入订单监控的SDK或者代码段

♦ 申请开通服务

♦ 数据回流:商家负责将业务系统中订单转单、订单客审处理状态实时回传到订单全链路监控中心,平台会自动增加淘宝段的订单状态,最终形成订单整个生命周期数据。

♦ 查看报告,如下图:

整个仪表盘展示订单各个状态的总量以及每个阶段的处理效率

tg监控数据库订单通知 订单监控系统_链路_02

tg监控数据库订单通知 订单监控系统_数据_03

tg监控数据库订单通知 订单监控系统_tg监控数据库订单通知_04

2.2 优缺点

2.2.1 优势
♦ 解决订单在不同软件系统之间流转过程中的订单处理状态,提供一目了然的全生命周期的展示

♦ 帮助商家把握自己的业务处理情况,了解自身的服务能力和行业整体服务能力水平,为商家实现各阶段的业务目标提供数据依据

♦ 帮助服务商监控业务系统的实际处理能力、及时暴露性能瓶颈,为性能调优提供数据依据,促进不断提升系统质量

♦ 实时聚合统计,秒级别延迟,为零售行业用户提供订单处理、仓储作业等各场景业务监控和行业处理效率数据

2.2.2 缺点
♦ 需要在商户系统中增加代码片段

♦ 对于业务量小的系统无法实时监控到商户系统可用性。

3. 自定义监控方式

自定义监控的方式就是采用主动的方式,检查系统功能可用性及下单环节的操作耗时。对于电商系统来说,用户的核心行为包括登录系统、浏览商品、加入购物车、下单、支付等环节,自定义监控的方式就是模拟用户的行为,按照正常用户的操作行为进行下单操作。

3.1 监控指标

通过模拟用户的行为,我们统计每个操作步骤的耗时,以及功能可用性。因此监控指标包括如下两点:

♦ 功能可用性

♦ 每个环节操作耗时

3.2 实现方式

自定义订单监控启动时需要用户提供下单的商品ID。我们采用python实现对用户下单流程的模拟。

1.登录

通过抓取正常用户的登录过程,我们可以了解正常的登录过程。通过python requests库模拟登录的过程。许多系统会限制同一个账号在一天内登录的次数,如果过于频繁需要输入验证码或者账号被锁定,一般情况下监控脚本无法处理验证码。可以采用两种办法解决此问题:1)找研发人员协助,将账号加入白名单 2)申请多个账号防止同一个账号被限制登录。

2.初始化

登陆成功之后需要做一些初始化工作,这些初始化工作是必要的,是为正常的下单做准备。包括获取订单类表并清空订单列表、添加用户收货地址。做这些初始化操作的目的是1)获取这些依赖服务性能 2)某些操作在下单过程中是必须的,例如下单时需要提供用户的收货地址。

3.获取商品信息

获取商品的属性信息,比如商品是否可以下单,是否有数量限制,为下一步操作做准备。

4.加入购物车

根据上一步操作将商品加入到购物车,重新加载购物车数据查看商品是否加入成功。

5.提交订单

触发下单操作,并记录下单操作返回的订单ID

6.查询下单列表

查询订单列表是否有上步操作的订单ID

7.删除订单

删除下单成功的订单,防止占用库存。

3.3 存在问题

♦ 账户问题:频繁下单造成账户封禁

♦ 测试商品:频繁下单某些商品占用库存,对线上系统会造成影响。

♦ 系统变更:系统变更,某些接口返回的数据发生变更造成监控误报。

3.4 查看结果

自定义方式对整个下单的流程就行模拟,并计算出操作环节的延迟。对于功能不可用的环节将这个环节操作耗时设置为0

tg监控数据库订单通知 订单监控系统_数据_05