使用来自 Kafka 的 Snowflake 数据源在单个 Grafana 面板上显示多个服务器的指标

使用来自 Kafka 的 Snowflake 数据源在单个 Grafana 面板上显示多个服务器的指标

我有一组服务器,它们将指标提交给单个 kafka 主题。此数据以以下格式存储在雪花数据库中的一行中:

{
  "disk_util": 47.7,
  "location": "location1",
  "timestamp": "1683703169378"
}

我正在使用这个雪花插件:https://github.com/michelin/snowflake-grafana-datasource

我想要做的是disk_util在单个 grafana 面板上表示这个指标。

我已经使用以下查询创建了一个变量locations

SELECT LOWER(JSON_EXTRACT_PATH_TEXT(RECORDS, 'location')) FROM METRICS

面板查询:

SELECT
  INSERT_TIME as time,
  to_number(JSON_EXTRACT_PATH_TEXT(RECORDS, 'disk_util'), 10, 1)
FROM
  METRICS
WHERE
  $__timeFilter(INSERT_TIME)
AND
  JSON_EXTRACT_PATH_TEXT(RECORDS, 'location') IN (${locations:singlequote})

问题是我不知道如何让每个位置在一个面板上显示为它自己的情节线,因为当我选择多个位置时,他的查询会将它们全部混合在一行上。

答案1

只需将位置列添加到您的选择中,Grafana 就可以真正区分指标。

类似这样的事情应该会有所帮助:

SELECT
  INSERT_TIME as time,
  to_number(JSON_EXTRACT_PATH_TEXT(RECORDS, 'disk_util'), 10, 1),
  JSON_EXTRACT_PATH_TEXT(RECORDS, 'location')
FROM
  METRICS
WHERE
  $__timeFilter(INSERT_TIME)
AND
  JSON_EXTRACT_PATH_TEXT(RECORDS, 'location') IN (${locations:singlequote})

相关内容