本文介绍统计图表相关的操作,包括检索分析、数据转换等。
日志服务 Demo 中心提供了部分数据操作 Demo,方便您快速体验功能。单击 可视化案例 立即体验。
注意
Demo 中心的数据为演示数据,请勿用于生产环境。
在仪表盘中添加统计图表时,需先添加检索分析操作。
您可以在编辑图表页面的检索分析页签下,选择目标日志主题,输入检索分析语句,然后单击开始分析。执行检索分析操作后,系统将在当前页面上方以表格形式展示检索分析结果。您也可以添加多个检索分析操作,并通过数据聚合功能,将多个检索分析的结果聚合在一个统计图表中。数据聚合的详细说明,请参考数据聚合。
完成检索分析操作后,您可以根据分析需求,选择其他更合适的统计图表来展示检索分析结果。
操作 | 说明 |
---|---|
修改名称 | 系统默认使用大写字母按顺序命名检索分析操作名称,例如 A、B 等。 |
查看数据源 | 单击查看数据源,可查看该检索分析的检索分析结果。 |
复制检索分析 | 单击复制按钮,复制一个新的检索分析。 |
删除检索分析 | 单击删除按钮,删除当前的检索分析。 |
排序检索分析 | 将鼠标悬浮在排序按钮上并按住鼠标进行移动,可拖动当前的检索分析,调整其顺序。 |
日志服务支持提供数据转换功能对检索分析结果进行转换处理。当前,仅支持对数据分类功能。
拼接
数据分类功能支持按照指定的字段对数据进行分类,并对每个类别对应数量进行统计。
您可以在编辑图表页面的数据转换页签下,选择添加转换 > 数据分类,然后进行如下配置。
参数 | 说明 |
---|---|
行字段 | 选择目标字段作为行字段。 |
列字段 | 选择用于分类的字段作为列字段。 |
值字段 | 选择数值字段。 |
空值 | 当数据中出现空值时,会替换为您在此处指定的值,默认为 null。 |
统计每 5 分钟不同 level 值对应的日志数量。默认情况下,折线图不支持按照 level 值分类展示对应的日志数量。通过配置数据转换中的分类规则,系统将根据 level 值(info、warning、error)将检索分析结果分为 3 类,并在折线图中分别展示各个类别对应的数量。
检索分析配置
*| SELECT DATE_FORMAT(__time__ - __time__ % 300000, 'Y-M-d HH:mm') AS time, COUNT(*) AS count, level GROUP BY time, level ORDER BY time
数据转换配置
检索分析结果(表格)
添加数据分类操作后,日志服务将提取 level 值(info、warning、error)作为表头,并分类展示各个 level 值对应的日志数量。
检索分析结果(折线图)
添加数据分类操作后,日志服务支持分类展示各个 level 值对应的日志数量。
日志服务支持通过拼接、追加、笛卡尔积、内联、左联和右联方式将多个检索分析结果聚合为一个结果,并在统计图表在展示。
连接方式 | 说明 |
---|---|
拼接 | 将两个数据源拼接后,数据源中的各列合并在一个表格中。如果存在同名列,则合并后的表列名为
|
追加 | 将数据源 B 追加到数据源 A 后,A、B 的值将按照列名进行合并,同时新增 |
笛卡尔积 | 数据源 A、B 的笛卡尔积,将数据源 A、B 的每行数据进行配对,形成了 A 表行数乘以 B 表行数的结果集。 |
内联 | 对数据源 A、B 进行内联时,可通过指定列(例如 ID)将数据进行匹配,且仅保留交集行。 |
左联 | 对数据源 A、B 进行左联时,可通过指定列(例如 ID)将数据进行匹配,若A 在 B 中没有匹配的行,则结果集中该行的 B 部分将显示 null。 |
右联 | 对数据源 A、B 进行右联时,可通过指定列(例如 ID)将数据进行匹配,若 B 在 A 中没有匹配的行,则结果集中该行的 A 表部分将显示null。 |
全联 | 对数据源 A、B 进行全联时,可通过指定列(例如 ID)将数据进行匹配,且在结果集中保留所有行。 |
将检索分析结果 A 和 B 拼接后,在一个图表中展示。
将检索分析结果 B 追加在检索分析结果A 中后,在一个图表中展示。
将检索分析结果 A 和 B 进行笛卡尔积聚合后,在一个图表中展示。
将检索分析结果 A 和 B 进行内联聚合后,在一个图表中展示。其中连接字段为 account_id
。
将检索分析结果 A 和 B 进行左联聚合后,在一个图表中展示。其中连接字段为 userId
。
将检索分析结果 A 和 B 进行右联聚合后,在一个图表中展示。其中连接字段为 userId
。
将检索分析结果 A 和 B 进行全联聚合后,在一个图表中展示。其中连接字段为 userId
。
日志服务支持在仪表盘的检索分析语句中添加 $__timeGroup
宏配置,$__timeGroup
宏的格式为$__timeGroup(时间列,时间间隔)
。其中,时间间隔
可以为固定间隔(5m等)或变量 ${{__interval}}
。
固定时间间隔方式$__timeGroup
宏支持如下时间间隔,格式为 $__timeGroup(时间列,固定时间间隔)
,表示支持根据指定的时间间隔进行分组,聚合时间序列数据。
Identifier | Description |
---|---|
| year |
| month |
| week |
| day |
| hour |
| minute |
| second |
| millisecond |
使用示例如下:
检索分析语句
* | SELECT $__timeGroup(__time__, 5m) AS time, status, count(*) as cnt Group BY time, status ORDER BY time
检索分析结果
${{__interval}}
变量方式
格式为 $__timeGroup(时间列, ${{__interval}})
,表示支持根据当前图表的时间范围自动选择合适的时间间隔进行分组,聚合时间序列数据,确保在不同时间范围内进行检索分析时,聚合的粒度是合理的。其中, ${{__interval}}
为预置变量,具体说明请参考时间颗粒度变量。使用示例如下:
检索分析语句
* | SELECT $__timeGroup(__time__, ${{__interval}}) AS time, status, count(*) as cnt Group BY time, status ORDER BY time
检索分析结果