
単一の Kafka トピックにメトリックを送信するサーバーのコレクションがあります。このデータは、次の形式で Snowflake データベースの行として保存されます。
{
"disk_util": 47.7,
"location": "location1",
"timestamp": "1683703169378"
}
私はこのスノーフレークプラグインを使用しています:https://github.com/michelin/snowflake-grafana-データソース
私がやろうとしているのは、この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 行にまとめられるため、各場所を 1 つのパネル上の独自のプロット ラインとして表示する方法がないことです。
答え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})