
Ich habe eine Sammlung von Servern, die Metriken an ein einzelnes Kafka-Thema übermitteln. Diese Daten werden als Zeile in einer Snowflake-Datenbank in diesem Format gespeichert:
{
"disk_util": 47.7,
"location": "location1",
"timestamp": "1683703169378"
}
Ich verwende dieses Snowflake-Plugin:https://github.com/michelin/snowflake-grafana-datasource
Ich versuche, diese disk_util
Metrik auf einem einzelnen Grafana-Panel darzustellen.
Ich habe eine Variable mit dem Namen locations
dieser Abfrage erstellt:
SELECT LOWER(JSON_EXTRACT_PATH_TEXT(RECORDS, 'location')) FROM METRICS
Die Panel-Abfrage:
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})
Das Problem besteht darin, dass ich nicht weiß, wie ich es schaffe, jeden Standort als eigenen Handlungsstrang in einem Panel anzuzeigen, da seine Abfrage alles in einer Zeile zusammenfasst, wenn ich mehrere Standorte auswähle.
Antwort1
Fügen Sie Ihrer Auswahl einfach eine Standortspalte hinzu, damit Grafana tatsächlich zwischen den Metriken unterscheiden kann.
So etwas sollte helfen:
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})