定位业务异常问题难度大、效率低,为了解决这一难题,ARMS应用监控通过结合调用链路和日志分析,可以快速、准确地定位业务异常问题,提升微服务框架下的诊断效率。
前提条件
-
已开通日志服务SLS。登录日志服务控制台时,根据页面提示开通日志服务。
-
已创建Project,详情请参见管理Project。
-
已创建Logstore,详情请参见创建基础LogStore。
背景信息
在使用调用链路和日志分析定位业务异常问题前,需要先了解Metrics、Tracing和Logging三个概念。
-
Metrics:应用的关键性能指标,如应用提供服务请求量、应用提供服务平均响应时间、应用依赖服务请求量等。
-
Tracing:调用链路,应用的任何接口调用、请求响应等动作都会绑定到完整的链路。
-
Logging:业务日志,应用的任何接口调用、请求响应等动作都会输出完整的业务日志。
当应用出现业务异常问题时,应用指标统计图会出现明显波动,您可据此粗略地分析异常问题;通过完整的调用链路和业务日志分析,可以精准定位业务异常问题。
关联业务日志与TraceId
登录ARMS控制台,在左侧导航栏选择。
在应用列表页面顶部选择目标地域,然后单击目标应用名称。
说明语言列的图标含义如下:
:接入应用监控的Java应用。
:接入应用监控的Golang应用。
:接入应用监控的Python应用。-:接入可观测链路 OpenTelemetry 版的应用。
-
在左侧导航栏中单击应用设置,并在右侧单击自定义配置页签。
-
在自定义配置页签的应用日志关联配置区域,选择日志源为日志服务,打开关联业务日志与TraceId开关,选择日志服务所在地域,然后绑定Project和Logstore。

-
在自定义配置页签左下角单击保存。
从应用指标的角度排查业务异常问题
登录ARMS控制台,在左侧导航栏选择。
在应用列表页面顶部选择目标地域,然后单击目标应用名称。
说明语言列的图标含义如下:
:接入应用监控的Java应用。
:接入应用监控的Golang应用。
:接入应用监控的Python应用。-:接入可观测链路 OpenTelemetry 版的应用。
-
在左侧导航栏单击应用总览,在顶部选择概览分析,然后在右上角选择或自定义设置目标时间段。
概览分析页面展示目标应用的关键指标,如应用提供服务请求量、应用提供服务平均响应时间、应用依赖服务请求量等。
-
在概览分析页面选择某个应用指标,在该指标的曲线图上拖动鼠标选取目标时间段。
本示例以应用提供服务平均响应时间指标为例。

-
查看步骤4所选时间段的调用链路。
-
单击查看所选时间段的调用链路。
-
在调用链路列表面板选择状态异常(显示
)的调用链路记录,单击该调用链路记录TraceId列下的TraceId值。您也可以在该调用链路记录操作列下单击查看日志,查看该时间点的业务日志,分析业务异常原因。

-
单击调用链路页签,然后在详情列下单击
图标。 -
单击方法栈,在链路详情信息页面查找错误信息,鼠标悬停在错误信息上可查看异常原因。

-
-
查看步骤4所选时间段的业务日志。
-
单击查看所选时间段的日志。
-
在日志分析页面选择异常错误信息,查看日志并定位业务异常原因。

-
从接口调用的角度排查业务异常问题
登录ARMS控制台,在左侧导航栏选择。
在应用列表页面顶部选择目标地域,然后单击目标应用名称。
说明语言列的图标含义如下:
:接入应用监控的Java应用。
:接入应用监控的Golang应用。
:接入应用监控的Python应用。-:接入可观测链路 OpenTelemetry 版的应用。
-
在左侧导航栏单击接口调用。
-
在接口调用页面的接口列表区域单击目标接口,然后单击调用链查询页签。
-
在调用链查询页签选择状态异常(显示
)的接口调用记录。
-
查看接口调用的调用链路。
-
在目标接口调用记录的TraceId列下单击TraceId的值。
-
单击调用链路页签,然后在详情列下单击
图标。 -
单击方法栈,在链路详情信息页面查找错误信息,鼠标悬停在错误信息上可查看异常原因。

-
-
查看接口调用的日志。
-
在目标接口调用记录的操作列下单击查看日志。
-
在日志分析页面选择异常错误信息,查看日志并定位业务异常原因。

-
相关文档
您可以通过创建告警对相关指标进行异常检测。具体操作,请参见应用监控告警规则。

)的调用链路记录,单击该调用链路记录TraceId列下的TraceId值。


