#prometheus #grafana
#prometheus #графана
Вопрос:
Обновление 1:
Я понимаю, что это не данные временных рядов. Цель состоит в том, чтобы избежать использования временной метки показателей, поскольку я хотел бы указать час в прошлом.
У меня есть некоторые показатели, которые показывают количество продуктов, произведенных за данный час.
some_metric{"hour"="1" "product"="a"} 5
some_metric{"hour"="2" "product"="a"} 7
some_metric{"hour"="1" "product"="b"} 3
some_metric{"hour"="2" "product"="b"} 2
Первая метрика интерпретируется как 5 продукта «a», произведенного за час = 1
Теперь я хотел бы создать диаграмму в Grafana, которая использует час в качестве оси x, а значение метрики — в качестве оси y. В этом случае я бы ожидал две строки (каждая из которых представляет производство a и b соответственно) на одной и той же диаграмме.
Есть какие-либо подсказки?
Большое спасибо.
Ответ №1:
Прежде всего, вам нужно понять, что такое временные ряды.
Prometheus, являясь базой данных временных рядов, автоматически добавит временную метку к данным, когда она очистит конечную точку вашей метрики.
Другими словами, с Prometheus вы получите метку «час» бесплатно. Вы должны удалить метку «час» из своей метрики и не беспокоиться об этом при разработке схемы метрик.
Теперь перейдем к Grafana. Когда вы используете графическую панель Grafana для представления результата запроса Prometheus запроса PromQL, например:
some_metric
По умолчанию Grafana помещает временную метку на ось X и рисует ДВЕ линии на основе значений «product»=»a» и значений «product» =»b», возвращаемых из запроса.
Другой способ объяснить:
Prometheus TSDB хранит ваши данные временных рядов в формате
time series #1: some_metric{"product"="a"} 5@timestamp1, 7@timestamp2, ...
time series #2: some_metric{"product"="b"} 3@timestamp1, 2@timestamp2, ...
Когда Grafana запрашивает «some_metric» у Prometheus, Prometheus вернет 2 набора пар ключ-значение, один набор для «product» =»a» и один набор для «product» =»b», где ключом является timestamp1, timestamp2, …, а значением — количество ваших продуктов.
Я достаточно ясно выразился? Если нет, то вы можете ознакомиться с примером графика Графаны здесь. Нажмите на кнопку «Инспектор запросов», вы увидите, как выглядят фактические данные временных рядов, возвращаемые из запроса PromQL.
Комментарии:
1. Спасибо за ваше предложение. В этом случае цель состоит в том, чтобы избежать использования временной метки показателей, поскольку я хотел бы указать время в истории. Я понимаю, что это не данные временных рядов.
Ответ №2:
Вероятно, вам следует просто хранить свои данные в MySQL и использовать источник данных Grafana MySQL вместе с панелью таблиц Grafana.
https://grafana.com/docs/grafana/latest/datasources/mysql/#table-queries