
У меня есть коллекция серверов, которые отправляют метрики в одну тему kafka. Эти данные хранятся в виде строки в базе данных Snowball в следующем формате:
{
"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})