当应用出现业务异常问题时,您可以通过分析业务日志,精准定位业务异常。本文介绍如何开通并使用ARMS日志分析功能。

前提条件

  • ARMS Agent版本为v2.7.1.3或以上。登录ARMS控制台,在应用监控 > Agent列表页面的Java版本发布说明页签获取2.7.1.3版本的Agent安装包。
  • 日志分析功能目前仅支持对阿里云容器服务Kubernetes版(简称ACK)集群下应用的日志进行分析,且Kubernetes集群应用需要通过Annotations方式接入ARMS应用监控。通过Annotations方式接入ARMS应用监控的具体操作,请参见为容器服务Kubernetes版Java应用安装探针

日志采集原理

日志采集原理
  1. 应用开通日志采集功能后,采集到的业务日志将会保存至本地。
  2. 安装日志采集探针后,日志采集探针将读取本地业务日志并发送至ARMS控制台。
    说明 同一个ACK集群下仅需安装一次日志采集探针。
  3. 在ARMS控制台的日志分析页面,您可以通过关键字对业务日志进行查询、筛选、分析等操作。例如通过搜索订单ID、Trace ID、应用名称等参数,可以查看相关的异常日志信息。

步骤一:开通日志采集功能

  1. 登录ARMS控制台
  2. 在左侧导航栏,选择应用监控 > 应用列表
  3. 在顶部菜单栏,选择地域。
  4. 应用列表页面,单击应用名称。
  5. 在左侧导航栏中单击应用设置,并在右侧单击自定义配置页签。
  6. 自定义配置页签的日志分析配置区域,打开日志框架自动采集开关,选择需要采集的日志级别,并设置单条日志显示的最大长度。
    日志分析配置
  7. 自定义配置页签左下角单击保存

(可选)步骤二:安装日志采集探针

同一个ACK集群下仅需安装一次日志采集探针。执行以下步骤查看当前应用所在的Kubernetes集群是否安装日志采集探针。

  1. 在左侧导航栏,选择应用诊断 > 日志分析
    • 如果日志分析页面显示了日志信息,说明当前ACK集群下已安装日志采集探针,您无需再次安装。
    • 如果日志分析页面显示如下,则说明当前ACK集群下还未安装探针,请继续完成下述步骤安装日志采集探针。安装日志采集探针
  2. 单击安装日志采集探针
    页面显示探针安装成功后,即可查看当前应用的业务日志信息。

查询日志

基础查询

日志分析页面

基础查询支持以下筛选操作:

  • 在基础查询页面右上角(图示中①),设置日志需要查看的时间段。
  • 单击arms_app右侧下拉框(图示中②)可以切换已开通日志采集的其他应用。
  • search右侧文本框(图示中③)输入关键字,按回车或单击search可以搜索包含对应关键词的日志。例如输入WARN,可以查看所有Warn级别的日志信息。
    说明 关键字区分大小写。

高级查询

单击页面右上角的高级查询,在高级查询页面,您可以通过LogQL语句查询日志信息。

高级查询

高级查询支持以下筛选操作:

  • 在高级查询页面右上角(图示中①),设置日志需要查看的时间段。
  • 在查询文本框(图示中②)输入LogQL语句,单击右上角的Run Query筛选业务日志信息。
    LogQL语句支持通过日志标签和关键字查询日志信息,LogQL语句中必须包含日志标签。
    • 日志标签格式:{label键值对}。您可以单击Log labels,在下拉框中选择日志标签和标签值。

      label键值对支持的运算符如下:

      • =:等于
      • !=:不等于
      • =~ :正则匹配
      • !~:正则不匹配
      例如:{arms_app="productservice"},查询名称为productservice的应用的业务日志。
    • 关键字:在日志标签后添加关键字可以进一步过滤业务日志。
      关键字支持的运算符如下:
      • |=:包含关键字
      • !=:不包含关键字
      • |~ :正则匹配
      • !~:正则不匹配
      说明 关键字区分大小写。
      例如:{arms_app="productservice"}|="WARN",查询名称为productservice的应用下Warn级别的业务日志。

查看日志

在业务日志区域,您可以执行以下操作:

查看日志详情

单击日志所在行,可以查看目标日志包含的日志标签和关键字。

日志展开信息

在日志展开信息区域,您可以执行以下操作:

  • 单击标签前面的添加包含图标,可以筛选包含当前标签和标签值的日志。
  • 单击标签前面的筛选不包含图标,可以筛选不包含当前标签和标签值的日志。
  • 单击Trace ID右侧的控制台链接,可以查看对应的调用链路和业务轨迹。

查看日志上下文

如果您需要查看经过筛选后的某条日志的上下文,将鼠标悬浮于日志所在行,单击日志信息尾部的Show context

展开的上下文默认前后各显示5条日志,如果您需要查看更多上下文,单击上下日志区域的Load 10 more

查看日志上下文