为仪表盘添加交互事件实现下钻分析

在仪表盘发现异常时,利用交互事件功能可快速进行下钻分析,如在Logstore查询分析、Trace分析或访问其他仪表盘等,以实现定位异常根因。本文介绍交互事件的类型和为仪表盘设置交互事件的操作步骤。

功能介绍

2024-09-12_15-24-27 (1)

当您在仪表盘发现异常问题时,可以使用交互事件功能快速进行下钻分析,例如打开日志库(Logstore)、打开仪表盘、打开快速查询、打开自定义HTTP链接、打开Trace详情、打开全栈可观测Trace详情。

本示例以Nginx访问日志为例,当您单击饼图中的状态为200的部分后,会跳转到Logstore查询状态为200的日志,查询时间范围和仪表盘的时间范围相同。

  1. 添加请求状态占比图:配置查询时间范围、Logstore、查询分析语句

  2. 为请求状态占比图添加交互事件:将仪表盘中的PV字段的交互事件设置为打开日志库,然后添加通过变量动态调整查询分析语句的参数${{status}}用于在Logstore中查询仪表盘中选定状态的日志。

日志服务支持的交互事件如下,具体的配置步骤参见文末。

打开日志库

设置交互事件为打开日志库,则触发交互事件后,将跳转到目标Logstore页面。

  • 前提条件

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

  • 配置参数

    参数

    说明

    自定义名称

    设置交互事件的名称。

    请选择项目

    选择目标Logstore所属的Project。

    请选择日志库

    选择目标Logstore。触发交互事件后,将跳转到目标Logstore页面。

    打开新窗口

    打开打开新窗口开关后,点击关联的日志库时,会打开新的页面。

    时间范围

    设置目标Logstore的查询时间范围。

    是否继承过滤

    打开是否继承过滤开关,将当前仪表盘已有的过滤条件同步到目标Logstore中,并以AND方式添加到查询分析语句之前。

    过滤语句

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

    您可以单击添加变量,在过滤语句中插入变量。其中,重要的系统变量说明如下:

    • ${{__start_time__}}:查询开始时间。

    • ${{__end_time__}}:查询结束时间。

    • ${{__interval__}}:查询的时间间隔,单位:秒。

    • ${{__project__}}:查询的Project名称。

    插入变量后,会将变量值作为过滤条件。

打开仪表盘

设置交互事件为打开仪表盘,则触发交互事件后,将跳转到目标仪表盘页面。

  • 前提条件

    已创建目标仪表盘并添加统计图表。更多信息,请参见添加统计图表(Pro版本)到仪表盘

    如果要配置变量,则需在目标仪表盘的统计图表中设置查询分析语句的变量。更多信息,请参见通过变量动态调整查询分析语句的参数

  • 配置参数

    参数

    说明

    自定义名称

    设置交互事件的名称。

    请选择项目

    选择目标仪表盘所属的Project。

    请选择仪表盘

    选择目标仪表盘。触发交互事件后,将打开该仪表盘。

    打开新窗口

    打开打开新窗口开关后,点击关联的仪表盘时,会打开新的页面。

    时间范围

    设置目标仪表盘的时间范围。

    是否继承过滤

    打开是否继承过滤开关,将当前仪表盘已有的过滤条件同步到目标仪表盘中。

    是否继承变量

    开启是否继承变量开关,将当前仪表盘中已有的变量同步到目标仪表盘中。

    过滤语句

    输入过滤语句,可将该过滤语句同步到目标仪表盘中。

    支持在过滤语句中插入变量。

    您可以单击添加变量,在过滤语句中插入变量。其中,重要的系统变量说明如下:

    • ${{__start_time__}}:查询开始时间。

    • ${{__end_time__}}:查询结束时间。

    • ${{__interval__}}:查询的时间间隔,单位:秒。

    • ${{__project__}}:查询的Project名称。

    插入变量后,会将变量值作为过滤条件。

    动态变量

    日志服务支持将此处设置的变量同步到目标仪表盘中。

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

    • 动态变量值所在列:以指定列对应的值动态同步到目标仪表盘中。

    说明

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

    静态变量

    日志服务支持将此处设置的变量同步到目标仪表盘中。

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

    • 静态值:以固定的字段值同步到目标仪表盘中。

    说明

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

自定义HTTP链接

设置交互事件为自定义HTTP链接,则触发交互事件后,将跳转到目标页面。

  • 前提条件

    已准备好HTTP链接。

  • 配置参数

    配置

    说明

    自定义名称

    设置交互事件的名称。

    协议

    设置链接协议。

    链接地址

    输入目标链接地址。

    支持在链接中添加如下日志服务系统变量,例如https://sls.console.aliyun.com/lognext/project/${{__project__}}/logsearch/test

    • ${{__start_time__}}:查询开始时间。

    • ${{__end_time__}}:查询结束时间。

    • ${{__interval__}}:查询的时间间隔,单位:秒。

    • ${{__project__}}:查询的Project名称。

    是否转码

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

    打开新窗口

    打开打开新窗口开关后,点击关联的HTTP链接时,会打开新的页面。

打开快速查询

设置交互事件为打开快速查询,则触发交互事件后,将跳转到目标快速查询页面。

  • 前提条件

    已创建目标快速查询。更多信息,请参见快速查询

    如果要配置变量,则需在目标快速查询中设置查询分析语句的变量。更多信息,请参见通过变量动态调整查询分析语句的参数

  • 配置参数

    参数

    说明

    自定义名称

    设置交互事件的名称。

    请选择项目

    选择目标快速查询所属的Project。

    请选择快速查询

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

    打开新窗口

    打开打开新窗口开关后,点击关联的快速查询时,会打开新的页面。

    时间范围

    设置目标快速查询的时间范围。

    是否继承过滤

    打开是否继承过滤开关,将当前仪表盘已有的过滤条件同步到目标快速查询中,并以AND方式添加到查询分析语句之前。

    过滤语句

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

    支持在过滤语句中插入变量。插入变量后,会将变量值作为过滤条件。

    动态变量

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

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

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

    说明

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

    静态变量

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

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

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

    说明

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

打开Trace分析

设置交互事件为打开Trace分析,则触发交互事件后,将跳转到Trace分析页面。

  • 前提条件

    已创建Trace实例并接入Trace数据。更多信息,请参见接入Trace数据概述

  • 配置参数

    参数

    说明

    自定义名称

    设置交互事件的名称。

    打开新窗口

    打开打开新窗口开关后,点击关联的Trace分析时,会打开新的页面。

    时间范围

    设置Trace分析的时间范围。

    Trace实例

    选择目标Trace实例。触发交互事件后,将打开该Trace实例下的分析页面。

    过滤语句

    输入过滤语句,可将该过滤语句同步到目标Trace分析页面中。

    支持在过滤语句中插入变量。插入变量后,会将变量值作为过滤条件。

打开Trace详情

设置交互事件为打开Trace详情,则触发交互事件后,将跳转到Trace详情页面。

  • 前提条件

    已创建Trace实例并接入Trace数据。更多信息,请参见接入Trace数据概述

  • 配置参数

    参数

    说明

    自定义名称

    设置交互事件的名称。

    打开新窗口

    打开打开新窗口开关后,点击关联的Trace详情时,会打开新的页面。

    时间范围

    设置Trace详情的时间范围。

    Trace实例

    选择目标Trace实例。触发交互事件后,将打开该Trace实例下的详情页面。

    Trace ID

    选择目标Trace ID。

    Span ID

    选择目标Span ID。

打开全栈可观测Trace分析

设置交互事件为打开全栈可观测Trace分析,则触发交互事件后,将跳转到全栈可观测的Trace分析页面。

  • 前提条件

    已创建全栈可观测实例。更多信息,请参见创建全栈可观测实例

  • 配置参数

    参数

    说明

    自定义名称

    设置交互事件的名称。

    打开新窗口

    打开打开新窗口开关后,点击关联的全栈可观测实例时,会打开新的页面。

    时间范围

    设置全栈可观测实例的时间范围。

    全栈可观测实例

    选择目标全栈可观测实例。触发交互事件后,将打开该实例下的Trace分析页面。

    过滤语句

    输入过滤语句,可将该过滤语句同步到目标Trace分析页面中。

    支持在过滤语句中插入变量。插入变量后,会将变量值作为过滤条件。

    您可以单击添加变量,在过滤语句中插入变量。其中,重要的系统变量说明如下:

    • ${{__start_time__}}:查询开始时间。

    • ${{__end_time__}}:查询结束时间。

    • ${{__interval__}}:查询的时间间隔,单位:秒。

    • ${{__project__}}:查询的Project名称。

    插入变量后,会将变量值作为过滤条件。

打开全栈可观测Trace详情

设置交互事件为打开全栈可观测Trace详情,则触发交互事件后,将跳转到Trace详情页面。

  • 前提条件

    已创建全栈可观测实例,Trace实例并接入Trace数据。更多信息,请参见创建全栈可观测实例接入Trace数据概述

  • 配置参数

    参数

    说明

    自定义名称

    设置交互事件的名称。

    打开新窗口

    打开打开新窗口开关后,点击关联的全栈可观测实例时,会打开新的页面。

    时间范围

    设置全栈可观测实例的时间范围。

    全栈可观测实例

    选择目标全栈可观测实例。触发交互事件后,将打开该实例下的Trace详情页面。

    Trace ID

    选择目标Trace ID。

    Span ID

    选择目标Span ID。

配置步骤

示例一:添加交互事件为打开日志库

1. 添加请求状态占比图

1.1 添加仪表盘

  1. 添加仪表盘:登录日志服务控制台,选择目标Project,在仪表盘>仪表盘列表页面,添加仪表盘名称为请求状态占比图

    image

1.2 添加统计图表

  1. 添加统计图表,单击添加新图表

    image

  2. 配置和保存统计图表:

    1. 在页面左侧配置查询时间范围、Logstore、查询分析语句。

    2. 在页面右侧配置图表类型、分类、数值列的字段,单击页面上方的应用查看图表配置效果,然后单击确定保存图表。

      * | 
      select 
        count(1) as pv ,status 
      group by 
        status

    image

2. 添加交互事件

本文以交互事件中的打开日志库为例,介绍为仪表盘添加交互事件的步骤。最终实现单击仪表盘例如200字段后,会跳转到Logstore查询status为200的日志,查询时间范围和仪表盘的时间范围相同。

2.1 为字段添加交互事件

  1. 在页面右侧的交互事件页签,单击添加字段按钮,在下拉列表选择相应字段。

    image

  2. 单击添加事件,从下拉列表中选择打开仪表盘,在对话框中配置日志库和动态变量。

    日志库代表查询的Logstore,时间范围代表查询语句的时间范围,过滤语句代表在Logstore中的查询语句。

    image

2.2 保存图表和仪表盘

  1. 在统计图表的编辑页面的右上角,单击确定

    image

  2. 在仪表盘的编辑页面的右上角,单击保存

    image

2.3 验证交互事件

在统计图表中单击200,然后单击打开日志库,跳转到日志库后查询语句为status: 200,查询时间为仪表盘中选择的前天

image

image

示例二:添加交互事件为打开仪表盘

将Nginx访问日志采集到名为website_log的日志库中并创建两个仪表盘(RequestMethod和destination_drilldown)实现事件交互。

  • 在名为RequestMethod的仪表盘中,添加请求方法分类表格,并设置交互事件为打开destination_drilldown仪表盘。

  • 在名为destination_drilldown的仪表盘中,添加PV随时间分布的折线图。

设置完成后,您在RequestMethod仪表盘中单击各个请求方法即可跳转到destination_drilldown仪表盘查看对应的PV趋势。如下为主要的操作步骤。

  1. 在destination_drilldown仪表盘中,添加PV随时间分布的线图。

    查询分析语句如下所示,其中${{method|PUT}}为变量信息。具体操作,请参见添加统计图表(Pro版本)到仪表盘

    request_method: ${{method|PUT}} | SELECT __time__ - __time__ %60 AS time, COUNT(1) AS PV GROUP BY time ORDER BY time

    交互事件

  2. 在RequestMethod仪表盘中,添加请求方法分类表格并设置交互事件。

    查询分析语句如下所示。具体操作,请参见添加统计图表(Pro版本)到仪表盘

    交互事件

    交互事件配置示例如下图所示。

    • 设置请选择仪表盘destination_drilldown

    • 设置动态变量名method,并选择request_method列。

    交互事件

  3. 查看交互事件设置结果。

    在RequestMethod仪表盘的表格中,单击GET,然后单击打开仪表盘,将跳转到destination_drilldown仪表盘。

    请求方法

    destination_drilldown仪表盘中显示GET请求对应的PV随时间的变化趋势。

    跳转后仪表盘