业务实时监控服务ARMS 全息排查功能全新上线-阿里云开发者社区

开发者社区> 中间件小哥> 正文

业务实时监控服务ARMS 全息排查功能全新上线

简介: 作为鹰眼的商业化产品,用于全链路APM监控的阿里云业务实时监控服务 (ARMS) , 基于鹰眼的全息排查沉淀,近日推出了基于分布式调用链监控技术的全息排查功能,将该功能提供给广大用户。
+关注继续查看

作为鹰眼的商业化产品,用于全链路APM监控的阿里云业务实时监控服务 (ARMS) , 基于鹰眼的全息排查沉淀,近日推出了基于分布式调用链监控技术的全息排查功能,将该功能提供给广大用户。至此,ARMS链路的分布式链路追踪功能结合周边的本地堆栈排查,性能Metrics统计,业务全息排查三大附加功能,形成了完整的链路监控解决方案。

image

为方便用户了解ARMS 基于分布式链路追踪技术的全息排查功能解决的问题和主要的使用场景,下文在这方面简单展开做一下介绍。

分布式链路追踪概要介绍和其面临的主要问题

分布式调用链是微服务时代下的监控必备利器。该技术理论基础建立在Google Dapper论文基础之上,主要运用于分布式微服务场景下的链路诊断场景,用户可快速的定位分布式环境下的调用问题诊断。国内外常见的这方面技术的互联网产品已有很多,其中:

  • 在开源领域有Zipkin, Skywalking, Pinpoint,
  • 国内外互联网公司比较著名的是阿里的淘宝鹰眼(国内大厂最早的分布式调用链监控的实现)和阿里云ARMS (鹰眼商用版),Facebook的OpenZipkin,还有其他如京东,网易等一些对应的实现。

分布式调用链在分布式调用的链路入口和出口通常会记录调用时差,返回状态,以及对应的机器或应用的元信息状态,因此应用的常规场景通常是某段时间和某个应用入口的情况下,查询错误异常或者超时的调用链。如Zipkin调用链查询如下图所示。

image

但是针对包含业务语义的特定故障诊断却稍显乏力。试脑补以下场景,如下图。
image

以上场景如果不将分布式调用链和业务内容进行关联,通常是很难定位到具体的问题调用链的。显然,常规的分布式调用链监控技术是无法胜任以上情况。

带全息排查功能的分布式调用链查询

作为国内互联网大厂的老牌链路监控工具,鹰眼于2014年左右就推出了全息排查功能,可以在调用链中关联业务信息(BizID)进行链路查询。鹰眼全息排查的关键在于:业务事件id与分布式调用链元信息TraceId的双向绑定,从而在技术上解决了业务信息(BizID)和调用链信息(TraceID)的关联问题。

业务全息排查的场景有很多,这里试举一例。例如一个交易订单(2135897412389123)发现存在问题,我们可以根据订单号查到与之绑定的TraceId,根据TraceId不仅可以查看系统调用的事件,还可以看到与业务相关的事件,如用户下单、当前库存情况等,也就是说根据交易ID可以在调用链上查看交易、商品库存以及支付等信息,大大提升错误排查速度。相关排查如下图所示。

image

用于全链路APM监控的阿里云业务实时监控服务 (ARMS) , 推出的基于分布式调用链监控技术的全息排查功能,则是基于鹰眼的全息排查沉淀,解决的问题和上文一致。下面我们看看ARMS全息排查的使用细节。

三步走使用ARMS带全息排查功能的分布式调用链查询

和鹰眼类似,ARMS全息排查解决问题的核心思路是将用户的业务内容 (简称BizID) 和相关调用链的TraceID做关联,来支持通过业务属性来查询对应的问题调用链。以下简单介绍如何上手ARMS全息排查功能。其操作的基本场景架构如下图。
image

以下简单叙述每步含义。关于全息排查的更多使用详解可参见全息排查最佳实践

  • 第一步,开发者在程序中通过ARMS提供的获取Trace信息的SDK来打印包含Trace信息的业务日志。

SDK使用示例如下:
Span span = Tracer.builder().getSpan();
String traceId = span.getTraceId();
String rpcId = span.getRpcId();

打印的日志参考内容如下:
2018-07-12 >11:37:40|1e057c4015313666599651005d1201|0|username=xiao,age=22,action=login
2018-07-12 >11:37:40|1e057c4015313666599651005d1201|0|username=xiao,age=22,action=search
2018-07-12 >11:37:40|1e057c4015313666599651005d1201|0|username=xiao,age=22,action=cart

  • 第二步,运维人员在ARMS控制台上配置抓取、清洗业务日志的任务,将其关联到对应的链路追踪系统。配置的参考示例如下:
    image
  • 第三步,在ARMS上开启应用监控,开始全息排查。 

ARMS的全息排查入口和以往的应用调用链即系查询入口保持一致。但是对比以往用户除了根据应用名,调用入口,响应时长进行查询意外,还可以根据业务信息(BizID)进行问题调用链的查询,从而指数级的提高了问题诊断查询效率。如查询username为kevin.yang的链路信息,查询示例如下:

image

同时,ARMS还开放具体的全息排查事件查询,方便用户直接查看日志原始信息。如查询username为kevin.yang的日志信息,查询示例如下:

image

结语

作为国内分布式链路追踪领域的老牌产品"阿里巴巴鹰眼"的商业化产品,阿里云业务实时监控服务 (ARMS) 的全息排查功能让用户的调用链诊断和业务信息充分关联,在分布式环境下指数级提高问题诊断效率。欢迎各位试用。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
RDC容器构建和部署服务新功能上线
通过RDC和容器服务的集成,很好的解决了从代码提交到发布上线,及多环境流水线部署等问题
4814 0
【云栖号案例 | 新零售】O2O电商服务平台上云 完美控制预算 业务准时上线
公司发展初期需要控制成本,业务上线紧迫,其他厂商服务器稳定性和数据库性能无法满足业务。上云后将预算控制在范围内,避免因项目延期而造成损失。
1938 0
AIOps智能监控在阿里巴巴故障管理工作中的成功实践
在自动化运维还不普及的时候,运维人员更多的运用手动的方式完成运维工作,这种方式耗时长,效率低。由此,如何合理发挥人工智能技术辅助运维人员进行故障管理工作逐步成为了业界关注的焦点。阿里巴巴的GOC团队通过研究并使用AIOps系统到运维业务场景中的方式,积累了大量的智能运营的方法论和技术体系。
6415 0
新功能:日志服务命令行工具ETL发布!
日志服务命令行工具ETL发布,解决数据采集、分析查询、投递归档、外部整合过程中的数据规整痛点,提供实时、可靠、可扩展、可管理的运行模式支持,以及全面简单的ETL规则,并支持丰富的扩展支持。
3035 0
【X-Pack解读】阿里云Elasticsearch X-Pack 安全组件功能详解
阿里云Elasticsearch集成了Elastic Stack商业版的X-Pack组件包,包括安全、告警、监控、报表生成、图分析、机器学习等组件,用户可以开箱即用。接下来小编将在【X-Pack解读】系列里解读各个Elasticsearch X-Pack 组件功能。
8874 0
【X-Pack解读】阿里云Elasticsearch X-Pack 告警组件功能详解
阿里云Elasticsearch集成了Elastic Stack商业版的X-Pack组件包,包括安全、告警、监控、报表生成、图分析、机器学习等组件,用户可以开箱即用。本文将对X-Pack 的告警组件功能进行详细解读。
5467 0
+关注
中间件小哥
阿里中间件(Aliware)官方账号
1037
文章
51
问答
来源圈子
更多
阿里云中间件主要有包含这么几个: 分布式关系型数据库DRDS_水平拆分 做数据库扩展性的 、消息队列MQ 是做消息的中间件、企业级分布式应用服务EDAS 做分布式服务的、还有一些其他的中间件,比如配置服务、缓存等等。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载