使用日志分析诊断业务异常

在微服务应用的场景下,日志分析更能体现其集中收集、即席查询的便捷优势。

使用日志查询排查问题

假设在一个微服务架构的场景下,有客户反馈订单无法支付并仅提供了订单号,若您在代码中针对订单支付过程中的异常已充分记录相关日志,即可从日志查询入手排查问题。

进入 微服务平台 > 项目列表 > 选择项目 > 日志分析 > 日志查询,搜索框内输入订单号,即可查看所有包含该订单号的日志信息,其中包括所有可能涉及的服务。

使用日志分析诊断业务异常 - 图1

通常,日志中包含的异常信息可提供一些有效线索帮助定位问题,例如异常类型和堆栈以及代码位置。若日志信息相对简略,例如请求某某服务失败等,此时便需要对日志进行纵向搜索。

使用 Trace ID 纵向查询日志

若您集成了 Erda 提供的 Java Agent,日志信息中将包含 request-id 的标签,其对应的 链路追踪 按钮将显示为可点击状态,点击后即可查询所有标有 request-id 标签且值与当前所选日志相同的日志记录,即整个请求 Trace 所涉及的所有日志。

使用日志分析诊断业务异常 - 图2

在请求链路的纵向上,可能存在其他服务的日志,该日志虽未包含订单号,但可能包含异常报错及堆栈信息,从而定位问题。

使用日志分析规则发现异常日志

若您希望在日志出现问题时接收通知,可以使用日志分析规则。通过创建相应的日志分析规则,结合规则管理功能,即可在指定类型的日志发生时接收通知,具体请参见 Java 应用通过日志分析跟踪异常指标