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})

관련 정보