Grafana 教程

数据转换:通过字段连接

image.png

使用此转换可将多个结果合并到一个表中,从而整合来自不同查询的数据。

这对于将多个时间序列结果转换成一个具有共享时间字段的单一宽表特别有用。

内部连接(Inner join)

内部连接可合并来自多个表的数据,其中所有表都共享所选字段的相同值。这种类型的连接不包括每个结果中值不匹配的数据。

使用这种转换可以将多个查询结果(在通过的连接字段或首次时间列上合并)合并为一个结果,并删除无法成功连接的行。

在下面的示例中,两个查询返回表数据。在应用内部连接转换之前,它被可视化为两个独立的表。

Query A:

Time

Job

Uptime

2020-07-07 11:34:20

node

25260122

2020-07-07 11:24:20

postgre

123001233

2020-07-07 11:14:20

postgre

345001233

对应的数据 SQL 语句如下:

select UNIX_TIMESTAMP('2020-07-07 11:34:20') as time, 'node' as Job, 25260122 as Uptime from dual
union all
select UNIX_TIMESTAMP('2020-07-07 11:24:20') as time, 'postgre' as Job, 123001233 as Uptime from dual
union all
select UNIX_TIMESTAMP('2020-07-07 11:14:20') as time, 'postgre' as Job, 345001233 as Uptime from dual

使用上述 SQL 语句作为 Grafana 的数据:

image.png

Query B:

Time

Server

Errors

2020-07-07 11:34:20

server 1

15

2020-07-07 11:24:20

server 2

5

2020-07-07 11:04:20

server 3

10

对应的数据 SQL 语句如下:

select UNIX_TIMESTAMP('2020-07-07 11:34:20') as time, 'server 1' as Server, 15 as Errors from dual
union all
select UNIX_TIMESTAMP('2020-07-07 11:24:20') as time, 'server 2' as Server, 5 as Errors from dual
union all
select UNIX_TIMESTAMP('2020-07-07 11:14:20') as time, 'server 3' as Server, 10 as Errors from dual

使用上述 SQL 语句作为 Grafana 的数据:

image.png

创建一个类型为“Join by field”的数据转换,应用内部连接(Mode=INNER)转换后的结果如下:

image.png

外部连接(Outer join)

外部连接包括来自内连接的所有数据以及在每个输入中值不匹配的记录。内连接在时间字段上连接查询 A 和查询 B,而外连接则包括时间字段上不匹配的所有记录。

在下面的示例中,两个查询返回表格数据。在应用外连接转换之前,可视化为两个表。

Query A:

Time

Job

Uptime

2020-07-07 11:34:20

node

25260122

2020-07-07 11:24:20

postgre

123001233

2020-07-07 11:14:20

postgre

345001233

见内部链接查询A。

Query B:

Time

Server

Errors

2020-07-07 11:34:20

server 1

15

2020-07-07 11:24:20

server 2

5

2020-07-07 11:04:20(这里不同)

server 3

10

创建类型为“Join by field”的数据转换,并且将 Mode 选择为“OUTER (TIME SERIES)”,效果如下图:

image.png

在下面的示例中,模板查询在表格可视化中显示来自多个服务器的时间序列数据。一次只能查看一个查询的结果。

9cd1eca938a0a66b5d7f724ac2ee9cf5_1709529378161-bdb45440-93ee-49dc-ab48-35c35b21f521.png

我使用时间字段对查询结果进行了连接转换。现在,我可以在这个新表中运行计算、合并和整理结果。

fc3884d71319d643cf1e0896134e9633_1709529378383-7efc1f21-c999-41fd-9768-660894d0a9f2.png

通过表格连接将来自不同查询的数据进行组合和分析,以全面了解您的信息。

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号