定位业务异常问题难度大、效率低,一直是ARMS应用监控的性能瓶颈。ARMS应用监控通过结合调用链路和日志分析,可以快速、准确地定位业务异常问题,提升微服务框架下的开发诊断效率。

前提条件

背景信息

在使用调用链路和日志分析定位业务异常问题前,需要先了解Metrics、Tracing和Logging三个概念。
  • Metrics:应用的关键性能指标,如应用提供服务请求量、应用提供服务平均响应时间、应用依赖服务请求量等。
  • Tracing:调用链路,应用的任何接口调用、请求响应等动作都会绑定到完整的链路。
  • Logging:业务日志,应用的任何接口调用、请求响应等动作都会输出完整的业务日志。

当应用出现业务异常问题时,应用指标统计图会出现明显波动,您可据此粗略地分析异常问题;通过完整的调用链路和业务日志分析,可以精准定位业务异常问题。

关联业务日志与TraceId

  1. 登录ARMS控制台,在左侧导航栏选择应用监控 > 应用列表
  2. 应用列表页面顶部选择目标地域,然后单击目标应用名称。
  3. 在左侧导航栏中单击应用设置,并在右侧单击自定义配置页签。
  4. 自定义配置页签的应用日志关联配置区域,选择日志源为日志服务,打开关联业务日志与TraceId开关,选择日志服务所在地域,然后绑定Project和Logstore。
    Link Business Logs with TraceId
  5. 自定义配置页签左下角单击保存

从应用指标的角度排查业务异常问题

  1. 登录ARMS控制台,在左侧导航栏选择应用监控 > 应用列表
  2. 应用列表页面顶部选择目标地域,然后单击目标应用名称。
  3. 在左侧导航栏单击应用总览,在顶部选择概览分析,然后在右上角选择或自定义设置目标时间段。
    概览分析页面展示目标应用的关键指标,如应用提供服务请求量应用提供服务平均响应时间应用依赖服务请求量等。
  4. 概览分析页面选择某个应用指标,在该指标的曲线图上拖动鼠标选取目标时间段。
    本示例以应用提供服务平均响应时间指标为例。Application Service Average Response Time
  5. 查看步骤4所选时间段的调用链路。
    1. 单击查看所选时间段的调用链路
    2. 在调用链路列表面板选择状态异常(显示为报错)的调用链路记录,单击该调用链路记录TraceId列下的TraceId值。
      您也可以在该调用链路记录操作列下单击查看日志,查看该时间点的业务日志,分析业务异常原因。EXception-Traceid
    3. 单击调用链路页签,然后在详情列下单击放大图标图标。
    4. 单击方法栈,在链路详情信息页面查找错误信息,鼠标悬停在错误信息上可查看异常原因。
      Exception
  6. 查看步骤4所选时间段的业务日志。
    1. 单击查看所选时间段的日志
    2. 日志分析页面选择异常错误信息,查看日志并定位业务异常原因。
      Log Analysis

从接口调用的角度排查业务异常问题

  1. 登录ARMS控制台,在左侧导航栏选择应用监控 > 应用列表
  2. 应用列表页面顶部选择目标地域,然后单击目标应用名称。
  3. 在左侧导航栏单击接口调用
  4. 接口调用页面的接口列表区域单击目标接口,然后单击调用链查询页签。
  5. 调用链查询页签选择状态异常的接口调用记录,异常状态显示为报错
    Interface Snapshot-Exception
  6. 查看接口调用的调用链路。
    1. 在目标接口调用记录的TraceId列下单击TraceId的值。
    2. 单击调用链路页签,然后在详情列下单击放大图标图标。
    3. 单击方法栈,在链路详情信息页面查找错误信息,鼠标悬停在错误信息上可查看异常原因。
      Exception
  7. 查看接口调用的日志。
    1. 在目标接口调用记录的操作列下单击查看日志
    2. 日志分析页面选择异常错误信息,查看日志并定位业务异常原因。
      Log Analysis