当应用出现业务异常问题时,您可以通过分析业务日志,精准定位业务异常。本文介绍如何开通并使用ARMS日志分析功能。
前提条件
ARMS Agent版本为v2.7.1.3或以上。登录ARMS控制台,在 页面的Java版本发布说明页签获取2.7.1.3版本的Agent安装包。
日志分析功能目前仅支持对阿里云容器服务Kubernetes版(简称ACK)集群下应用的日志进行分析,且Kubernetes集群应用需要通过Annotations方式接入ARMS应用监控。通过Annotations方式接入ARMS应用监控的具体操作,请参见容器服务ACK环境自动安装探针。
版本说明
当前版本的日志分析功能已不支持开通,如果已开通当前版本的日志服务,则仍可以使用。
您可以根据需求重新开通新版日志分析功能。
开通新版日志分析功能后无法返回旧版的日志分析功能。
新版日志分析功能支持分析日志服务SLS或直接采集的日志:
日志分析(直接采集):通过ARMS探针采集日志框架的输出并直接推送到ARMS的日志分析中心,通过一键开启后无需其他操作即可在ARMS控制台查询分析应用日志。更多信息,请参见日志分析(直接采集)。
说明日志分析(直接采集)功能需要将探针升级到v2.7.1.4及以上版本。
日志分析(日志服务SLS):
您需要将应用的日志采集到日志服务SLS,并在ARMS应用配置中配置相应的Project和Logstore,ARMS会内嵌日志服务的页面方便您进行日志分析。更多信息,请参见日志分析(日志服务SLS)。
日志采集原理
应用开通日志采集功能后,采集到的业务日志将会保存至本地。
安装日志采集探针后,日志采集探针将读取本地业务日志并发送至ARMS控制台。
说明同一个ACK集群下仅需安装一次日志采集探针。
在ARMS控制台的日志分析页面,您可以通过关键字对业务日志进行查询、筛选、分析等操作。例如通过搜索订单ID、Trace ID、应用名称等参数,可以查看相关的异常日志信息。
查询日志
基础查询
基础查询支持以下筛选操作:
在基础查询页面右上角(图示中①),设置日志需要查看的时间段。
单击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。