天天看点

阿里巴巴淘票票专家分享:如何利用阿里云ARMS,搭建国际化在线售票的业务监控系统

阿里巴巴旗下-淘票票 王伟 撰稿

业务的基本需求是需要实时大盘和报警功能,对要实时统计订票接口的各种状态进行统计和报警,包括:

订票成功率,从业务层面看是否系统运行正常。

订票接口状态,如响应时间,同比环比调用,等,从系统层面看是否系统运行正常。

以下篇幅从日志设计到配置,到最终大盘展示。

arms基本原理是采集日志通过实时流式计算出聚合数据监控业务,可以通过ecs,loghub,sdk等多种方式获得日志源,这里我们选择loghub,因为我们所有使用阿里云的ecs已经采集日志到日志服务上,只需要简单通过配置即可让arms从loghub上获取日志。

采集到loghub上的原始日志示例为:

按照我们定义的分隔符解析日志格式为json,格式示例如下:

其中:

• method是业务方法名,通过appname,apiname和method来唯一确定某个应用系统上某个接口的业务方法;

• success用来表示该业务方法执行成功与否;

• resultcode来用表示方法返回的错误码;

• runtime表示该方法执行的时间,单位为毫秒,可以用来统计哪些方法执行较慢,做后期优化;

• request为方法请求参数。

对以上已经存在的字段按照json切分器切分,为了计算成功率,还需要把成功数转换成数字类型,方便在数据集做累加来计算。

阿里巴巴淘票票专家分享:如何利用阿里云ARMS,搭建国际化在线售票的业务监控系统
阿里巴巴淘票票专家分享:如何利用阿里云ARMS,搭建国际化在线售票的业务监控系统

配置接口成功率,通过sum累加得到成功的数量successcount,通过count得到总数量totalcount,使用successcount/totalcount得到成功率,当然也可以额外计算平均接口耗时等参数,在通过下砖维度获取按维度的成功率。

阿里巴巴淘票票专家分享:如何利用阿里云ARMS,搭建国际化在线售票的业务监控系统

由数据集可以直接配置报警,当成功率低于一定阈值的时候直接发出报警,实时监控线上业务,最大成都降低业务影响范围。

阿里巴巴淘票票专家分享:如何利用阿里云ARMS,搭建国际化在线售票的业务监控系统

通过配置好的数据集就可以配置业务接口成功率大盘了,用来监控各个业务的实时稳定性。

阿里巴巴淘票票专家分享:如何利用阿里云ARMS,搭建国际化在线售票的业务监控系统

我们通过arms对目前线上大部分业务性能指标如成功率,接口错误码分布,接口平均响应时间等性能参数做了实时监控,尤其在前段时间两次重大活动中及时发现线上性能问题,针对特定问题及时响应解决起了巨大的作用,提升了业务稳定性和业务响应速度。

除稳定性方面,我们也通过arms配置实时业务数据监控,通过按维度统计订单,用户访问等业务数据,根据不同时间段的业务数据快速调整业务运营和决策,对业务增长起了很好的推动作用。

<a href="https://www.aliyun.com/product/arms">arms正在公测,速来</a>

继续阅读