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

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

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

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

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

在开源领域有Zipkin, Skywalking, Pinpoint,
国内外互联网公司比较著名的是阿里的淘宝鹰眼(国内大厂最早的分布式调用链监控的实现)和阿里云ARMS (鹰眼商用版),Facebook的OpenZipkin,还有其他如京东,网易等一些对应的实现。
分布式调用链在分布式调用的链路入口和出口通常会记录调用时差,返回状态,以及对应的机器或应用的元信息状态,因此应用的常规场景通常是某段时间和某个应用入口的情况下,查询错误异常或者超时的调用链。如Zipkin调用链查询如下图所示。

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

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

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

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

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

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

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

第一步,开发者在程序中通过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控制台上配置抓取、清洗业务日志的任务,将其关联到对应的链路追踪系统。配置的参考示例如下:

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

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

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

原文链接请添加链接描述

本文为云栖社区原创内容,未经允许不得转载。

原文地址:http://blog.51cto.com/13876536/2155720

时间: 2024-11-17 18:52:27

业务实时监控服务ARMS 全息排查功能全新上线的相关文章

实时同步服务(inotify+sersync)

[inotify] 一.Inotify概念 1.概念一种强大的,细粒度的,异步文件系统事件监控机制,内核从2.6.23开始支持使用,具体监控事项(增删改)2.安装软件yum -y install inotify-tools (前提是部署好epel源)3.inotify软件应用软件前提linux内核从2.6.13起开始使用,加入inotify支持[[email protected] ~]#cd /proc/sys/fs/inotify/[[email protected] /proc/sys/fs

茂名石化BPM应用实践 ——业务协同及服务共享平台建设和应用

一.茂名石化简介 茂名石化隶属于中国石油化工集团公司,创建于1955年,是国家"一五"期间156项重点项目之一.经过50多年的发展,茂名石化已成为我国生产规模最大的炼油化工企业之一.目前,公司原油一次加工能力超过2000万吨/年,乙烯生产能力100万吨/年,拥有动力.港口.铁路运输.原油和成品油输送管道.海上原油接卸系统等完善的配套设施.公司生产的炼油化工产品畅销全国,同时出口国际市场.公司年销售收入超过1000亿元,年上缴税金超过200亿元,是广东省著名的纳税大户. 二.茂名石化选择

如何做实时监控?—— 参考 Spring Boot 实现(转)

转自:http://blog.csdn.net/xiaoyu411502/article/details/48129057 随着 微服务 的流行,相比较以前一个大型应用程序搞定所有需求,我们现在更倾向于把大型应用程序切分成多个微服务,服务之间通过 RPC 调用.微服务架构的好处非常多,例如稳定的服务变化较少,不会被非稳定服务所影响:不同的服务更方便交给不同的人管理:发布.扩容等操作也更加有针对性.不过这也不是没有代价的,额外的成本最主要的可能就是运维成本. 我们维护的一个产品,由 7 个微服务构

花生壳发布远程管理平台智能设备实现实时监控

北京时间7月1日上午10:00,花生壳(hsk.oray.com)公司发布了"花生壳远程管理"平台.这个平台主要用于管理花生壳的嵌入式,例如花生壳在威联通NAS.树莓派.极路由.魔豆路由器等智能设备的嵌入管理,实现实时状态的监控. "花生壳远程管理"平台,为智能设备嵌入式用户提供统一的管理平台.通过b.oray.com登陆账号,就能进入花生壳远程管理界面,进行实时状态监控状态,选择意外离线IP保持,进行诊断和线路设置等. 据花生壳总监L.S介绍,"2015

nagios监控服务

   nagios监控系统 1: ngios工作原理 1.Nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控.检测功能都是通过各种插件来完成的. 启动Nagios后,它会周期性的自动调用插件去检测服务器状态,同时Nagios会维持一个队列,所有插件返回来的状态信息都进入队列,Nagios每次都从队首开始读取信息,并进行处理后,把状态结果通过web显示出来. Nagios提供了许多插件,利用这些插件可以方便的监控很多服务状态.安装完成后,在nagios主目录下的/libe

java利用WatchService实时监控某个目录下的文件变化并按行解析(注:附源代码)

首先说下需求:通过ftp上传约定格式的文件到服务器指定目录下,应用程序能实时监控该目录下文件变化,如果上传的文件格式符合要求,将将按照每一行读取解析再写入到数据库,解析完之后再将文件改名. 一. 一开始的思路 设置一个定时任务,每隔一分钟读取下指定目录下的文件变化,如果有满足格式的文件,就进行解析. 这种方式很繁琐,而且效率低,效率都消耗在了遍历.保存状态.对比状态上了! 而且无法利用OS的很多功能. 二. WatchService介绍 1. 该类的对象就是操作系统原生的文件系统监控器!我们都知

监控宝发布移动应用监控服务 引领移动APM

监控宝发布移动应用监控服务 引领移动APM [2014年4月22日,北京]--国内领先的应用性能管理运营商,云智慧(北京)科技有限公司近日宣布,推出"移动应用监控服务".这项全新的企业级监控服务解决方案,基于应用服务接口监控业务过程,捕捉应用或服务的终端用户体验,跟踪整个应用交互的数据流,发现业务端口可用率和正确性以及业务性能数据分析,在国内尚属首创. 移动社交.移动支付到移动多媒体,移动互联网的兴起,使得移动应用得以更为广泛地渗透到社会经济的各个领域.更多的产品和服务应用通过移动互联

基于邮件系统的远程实时监控系统的实现 Python版

人生苦短,我用Python~ 界内的Python宣传标语,对Python而言,这是种标榜,实际上,Python确实是当下最好用的开发语言之一. 在相继学习了C++/C#/Java之后,接触Python,最一开始突然一片茫然,似乎是进入了新世界,所有C家族的语法,在这里都或多或少地发生了改变,方法没有大括号,喜闻乐见的格式.定义变量不需要声明,时间长了,竟爱上了这个简介明了,高效快捷的语言,当然,也是当下开发语言界内的宠儿,不可否认,Python是当下最流行的开发语言了. [前言] 本文拟使用Py

零代码如何打造自己的实时监控预警系统

概要 为什么要做监控 线上发布了服务,怎么知道它一切正常,比如发布5台服务器,如何直观了解是否有请求进来,访问一切正常.当年有一次将线上的库配置到了Beta,这么低级的错误,排错花了一个通宵,十几个人.某个核心服务挂了,导致大量报错,如何确定到底是哪里出了问题.SOA带来的问题,调用XX服务出问题,很慢,是否可以衡量? 由于业务系统数量大,每天都会产生大量的系统日志和业务日志,单流式业务的一台服务器产生的日志达400M 想直接查看内容打开可能几分钟,而且内容之多根本无法查看,给开发和运维带来诸多