更新时间:2024-06-29 12:07:15

在云原生时代,随着微服务应用数量的极速增加,服务与服务之间的调用关系愈加错综复杂,寻找异常问题根源也愈加困难。当用户或应用程序发起请求后系统响应时间过长,或系统发生异常,可以使用链路图表帮助明确服务之间的调用链关系,快速发现、分析和准确定位应用软件、系统软件、基础设备等资源中的异常,有利于帮助用户及时排除问题,提高排障效率,避免导致业务中断、数据丢失等问题。

AnyRobot链路图表嵌于仪表盘模块,与仪表盘内其它可视化组件共同实现异常问题的指标表现、链路定位、日志事件还原,以下将介绍链路图表的配置以及应用。

配置链路图表

在查看链路图表之前需对其进行配置,主要分为图表配置和链路配置,具体操作如下:

说明:

• 链路(Trace):记录请求(由应用程序或最终用户发起)在多服务架构(如微服务和无服务器应用程序)中传播时的路径,有助于了解用户或应用发出请求时发生了什么。

• 跨度(Span):是链路当中的最小操作单元,链路由一个或多个跨度组成。跨度会跟踪请求发出的特定操作,记录该操作执行期间发生的事情,其包含名称、时间相关的数据、结构化日志消息和其它元数据(即属性)。第一个跨度表示根跨度,父级跨度下的子跨度提供了请求期间发生的事情更深入的上下文。跨度的运行状态直接影响链路呈现出的状态。

1. 进入仪表盘页面,点击右上角【编辑】>【配置管理】>【链路图表】,进入链路配置页面,进行图表配置、链路配置,各配置项说明如下:

♦  图表配置:配置仪表盘页面链路图表的名称、图表数据范围和图表展示配置

元素名称
元素说明
基本信息 * 链路图表名称 设置链路图表的自定义名称;
图表数据范围 * 链路模型

设置列表数据的来源,来源为链路模型,列表内的所有数据都是从该数据来源获取;

图表展示配置 数据类别

设置数据展示,可展示为日志模式和链路模式两种呈现方式,默认为链路模式

♦  链路配置:配置关联日志的展示信息 

元素名称
元素说明

关联日志展示配置

展示字段
  •  勾选查看跨度日志所需要呈现的字段,其中@timestamp为默认必选项;
  • 设置对应字段展示名称: 将鼠标悬浮至任一字段名后的“展示名称”列,点击按钮,输入自定义字段展示名称;

 

2. 配置完成后,点击【完成】即可生成链路图表,可在仪表盘页面查看。配置项与链路图表呈现效果对应关系如下所示:

•  “图表配置”结果呈现于仪表盘页面,链路图表如下所示:

•  “链路配置”结果呈现于链路详情视图,点击链路图表中【查看链路】,即可进入详情视图,可以更加清楚明了的查看此条跨度所属链路下所有跨度的详情视图。您可了解以下信息:

• 在页面顶部可查看跨度总数以及异常、正常、未知状态的跨度数;

• 通过跨度列表,可查看根跨度名称、服务名称、日志条数、跨度开始时间、持续时间、结束事件等;跨度名称项下,还可具体查看以层级展示的各跨度之间的调用关系(每条跨度前圆点的颜色与页面顶部跨度状态的颜色标识一致,可以此判断某跨度是否异常);

• 点击各跨度行后,可在对应页面右方可查看更加详细的跨度详情信息;在页面下方可查看相应跨度的运行日志信息,包括日志字段信息(展示的字段于“链路配置”中进行配置)。

说明:跨度的未知(unset)状态表示用户埋点时未自行定义的跨度的状态。

 

•点击有日志的跨度,如图所示“1”,进入日志列表,可查看关联日志详情信息;

•点击右下角查看上下文,可查看此条日志的上下文原始日志信息,从而了解事件发生的脉络。

 

应用链路图表溯源排障

 

当您的业务运行出现异常,您可进入仪表盘页面查看此业务相关的链路图表,确定问题所在的跨度、调用的服务以及查看相关调用信息、运行日志,帮助缩小排障范围、确定问题根源。以下为通过链路图表排障的操作:

1. 进入仪表盘页面,点击异常业务相关的仪表盘,查看链路图表,表中展示每条跨度的链路ID、跨度ID,以及其它在配置链路环节配置要展示的字段信息,通过展示的字段信息判断某条跨度是否正常,例如:若选择展示“Status”字段,即可直观判断某条跨度状态是否正常;或,若选择展示“Duration”字段,即可判断某条跨度的耗时是否正常。另外,可点击表头字段右侧按钮对整列进行排序,以便更快查询到异常跨度。

2. 也可通过仪表盘页面的全局过滤器进行过滤,筛选出异常链路。点击仪表盘页面右上角【添加配置】>【过滤器】,具体配置项详述请参考 数据应用>仪表盘>数据过滤下钻>过滤器过滤 章节,以下为以“跨度状态”为筛选条件的过滤器配置示例:

 

 

3.通过上述方法,可快速定位异常链路,再通过查看链路、查看日志详情、查看上下文等来进一步溯源排障。