为调用链配置自定义交互事件

事件配置用于对单个字段或单个查询分析进行下钻(Drilldown)分析,加深数据分析的维度。您可以为调用链的一个或多个属性设置交互事件,方便查询更详尽的调用链或查看与调用链关联的日志、指标等信息。本文介绍交互事件相关的配置说明。

交互事件是数据分析中不可缺少的功能之一,通过改变数据维度的层次、变换分析的粒度从而获取数据中更详尽的信息。调用链分析支持对Span的字段、属性设置交互事件。交互事件类型包括:

  • 打开日志库:跳转到日志服务目标Logstore页面。

  • 自定义HTTP链接:跳转到目标HTTP链接页面。

  • 从编辑框中打开:在弹窗中以文本格式或JSON格式展示字段值。

  • 打开快速查询:跳转到日志服务目标快速查询页面。

添加自定义交互事件

  1. 调用链分析页面单击调用链的TraceId

  2. 选中目标接口,在右侧的Span详情区域单击事件配置

    image

  3. 在弹出的Drilldown 配置面板中,选择交互事件的生效范围。

    自定义事件生效范围有两种,包括服务事件配置全局事件配置。服务事件配置仅在当前应用的所有调用链中生效,而全局事件配置在当前地域的所有调用链中生效。

    image

  4. 单击添加字段,选择需要配置自定义事件的字段,然后单击确定。

    image

  5. 单击添加事件,从下拉框中选择交互事件。

    image

  6. 填写交互事件的参数,配置完成后单击确认

    具体参数的说明请参见下文交互事件参数说明

    image

触发自定义事件

Span详情区域将鼠标悬浮到蓝色字段上,会弹出悬浮框展示已配置的自定义事件,单击事件名即可触发交互事件。

image

交互事件参数说明

打开日志库

触发打开日志库交互事件后,控制台将跳转到日志服务目标Logstore页面。

  • 前提条件

    已创建目标Logstore。更多信息,请参见管理Logstore

  • 配置参数

    参数

    是否必填

    说明

    自定义名称

    自定义交互事件的名称,该名称会展示在自定义事件悬浮框中。

    请选择region

    选择日志服务目标Project所在地域。

    请选择项目

    选择日志服务目标Project名称。

    请选择日志库

    选择日志服务目标Logstore名称。触发交互事件后,将跳转到目标Logstore页面。

    打开新窗口

    开启该选项,则触发交互事件后将在新窗口打开目标Logstore。

    时间范围

    设置目标Logstore的查询时间范围。可以设置为:

    • 预设:跳转到目标Logstore页面后,对应的查询时间为日志服务默认的查询时间,即15分钟(相对)。

    • 继承当前查询时间:跳转到目标Logstore页面后,对应的查询时间为触发交互事件时调用链分析页面对应的时间。

    • 继承数据点时间:跳转到目标Logstore页面后,对应的查询开始时间为触发交互事件时所选调用链的时间范围字段值减去时间范围字段差值,查询结束时间为时间范围字段值加上时间范围字段差值

    • 相对时间:跳转到目标Logstore页面后,对应的查询时间为当前指定的相对时间。

    • 整点时间:跳转到目标Logstore页面后,对应的查询时间为当前指定的整点时间。

    过滤语句

    输入过滤语句,可将该过滤语句同步到目标Logstore中,并以AND方式添加到查询分析语句之前。

    在过滤语句中添加变量,可以将对应字段的值作为过滤条件。

    示例:traceId=${{traceID}} AND spanId=${{spanID}}

自定义HTTP链接

触发自定义HTTP链接交互事件后,控制台将跳转到目标HTTP链接页面。

  • 前提条件

    已准备好HTTP链接。

  • 配置参数

    参数

    是否必填

    说明

    自定义名称

    自定义交互事件的名称,该名称会展示在自定义事件悬浮框中。

    协议

    选择HTTP链接的协议。

    链接地址

    需要跳转到的目标地址。

    HTTP链接中的路径部分表示访问的目标文件的层级路径,您可以在定义HTTP链接的路径部分添加变量,单击链接时,对应字段值将会替换HTTP链接中的参数,跳转到重新定位的HTTP链接中。

    是否转码

    打开是否转码开关后,链接中的内容将会进行encode转码。

    打开新窗口

    开启该选项,触发交互事件后将在新窗口打开目标HTTP链接页面。

从编辑框中打开

触发从编辑框中打开交互事件后,控制台将在弹窗中以文本格式或JSON格式展示字段值。

参数

是否必填

说明

自定义名称

自定义交互事件的名称,该名称会展示在自定义事件悬浮框中。

文本类型

选择以文本格式或JSON格式展示字段值。

打开快速查询

触发打开快速查询交互事件后,控制台将跳转到日志服务目标快速查询页面。

  • 前提条件

    已在日志服务中创建目标快速查询。更多信息,请参见快速查询

    如果要设置变量,则需在目标快速查询中设置查询分析语句的变量。更多信息,请参见变量

  • 配置参数

    参数

    是否必填

    说明

    自定义名称

    自定义交互事件的名称,该名称会展示在自定义事件悬浮框中。

    请选择region

    选择日志服务目标Project所在地域。

    请选择项目

    选择日志服务目标Project名称。

    请选择快速查询

    选择日志服务目标快速查询。触发交互事件后,将打开该快速查询页面。

    打开新窗口

    开启该选项,触发交互事件后将在新窗口打开目标快速查询页面。

    时间范围

    设置目标快速查询的时间范围。可以设置为:

    • 预设:跳转到目标快速查询页面后,保持日志服务默认的查询时间范围,即15分钟(相对)。

    • 继承当前时间:跳转到目标快速查询页面后,对应的查询时间为触发交互事件时调用链分析页面对应的时间。

    • 继承数据点时间:跳转到目标快速查询页面后,对应的查询开始时间为触发交互事件时所选调用链的时间范围字段值减去时间范围字段差值,查询结束时间为时间范围字段值加上时间范围字段差值

    • 相对时间:跳转到目标快速查询页面后,对应的查询时间为当前指定的相对时间。

    • 整点时间:跳转到目标快速查询页面后,对应的查询范围为当前指定的整点时间。

    过滤语句

    输入过滤语句,可将该过滤语句同步到目标快速查询页面中,并以AND方式添加到查询分析语句之前。

    在过滤语句中添加变量,可以将对应字段的值作为过滤条件。

    动态变量

    日志服务支持通过变量灵活修改目标快速查询中的查询分析语句,当此处添加的变量和目标快速查询的查询分析语句中的变量相同时,查询分析语句中的变量将会被触发交互事件的字段值替换。

    说明

    最多可添加5个动态变量和5个静态变量。

    • 动态变量

      • 动态变量名:设置变量名。

      • 动态变量值所在列:以指定列对应的值动态替换目标快速查询的查询分析语句中的变量。

    • 静态变量

      • 静态变量名:设置变量名。

      • 静态值:以固定的字段值替换目标快速查询的查询分析语句中的变量。

    静态变量

预置交互事件(高级配置)

调用链分析提供了预置的交互事件,包括以下内容:

image

内置事件名称

生效字段

说明

使用当前条件查询调用链

Span Events外的所有字段

将该字段作为查询条件追加到调用链分析的查询中。

查看应用详情

应用名(serviceName)

跳转至应用监控的应用概览页面。

查看提供服务

接口名(spanName)

跳转至应用监控的提供服务页面。

查看实例监控

IP

跳转至应用监控的实例监控页面。

查看原始Trace数据

TraceID、SpanId

查看存储在日志服务中的原始调用链数据。

常见问题

如果您使用虚商域名访问调用链分析页面(例如将ARMS页面嵌入了自建Web页面),触发打开日志库打开快速查询事件后将无法正常访问日志服务控制台,而是跳转至登录页。您可以通过自定义HTTP链接实现同样的效果,具体步骤如下:

  1. 在事件配置中创建自定义HTTP链接交互事件。

  2. 协议选择https,并在链接地址中填写跳转链接。

  3. 准备要跳转到的日志服务链接,并将链接的域名(sls.console.aliyun.com)替换为日志服务虚商域名(sls4service.console.aliyun.com),更多信息请参见准备分享链接image

  4. 如果您希望跳转到日志库时携带查询参数,请单击查询变量选择要添加的变量。

    链接地址示例如下,该链接会打开Project名称为test-project、Logstore名称为test-logstore的日志库,并过滤traceId为当前调用链的traceId。

    https://sls.console.aliyun.com/lognext/project/test-project/logsearch/test-logstore?queryString=traceId=${{traceID}}