Измерения временных рядов
В разделе Введение во временные ряды вводится понятие меток (labels), также называемых тегами (tags):
Ещё одна особенность TSDB — возможность фильтровать измерения с помощью тегов. Каждая точка данных помечена тегом, добавляющим контекстную информацию, например место, где было выполнено измерение.
В случае данных временных рядов данные часто содержат не один ряд, а набор из нескольких временных рядов. Многие источники данных Grafana поддерживают такой тип данных.
Обычный случай — выполнение одного запроса для измерения с одним или несколькими дополнительными свойствами в качестве измерений. Например, запрос измерения температуры вместе со свойством местоположения. В этом случае из этого единственного запроса возвращается несколько рядов, и каждый ряд имеет уникальное местоположение в качестве измерения.
Чтобы идентифицировать уникальные ряды внутри набора временных рядов, Grafana хранит измерения в метках.
Метки
Каждый временный ряд в Grafana опционально имеет метки. Метки — это набор пар ключ/значение для идентификации измерений. Примеры меток: {location=us} или {country=us,state=ma,city=boston}. Внутри набора временных рядов комбинация его имени и меток идентифицирует каждый ряд. Например, temperature {country=us,state=ma,city=boston} может идентифицировать ряд значений температуры для города Бостон в США.
Различные источники данных временных рядов хранят измерения нативно или имеют общие шаблоны хранения, позволяющие извлекать данные в измерения.
Базы данных временных рядов (TSDB) обычно нативно поддерживают размерность. Prometheus также хранит измерения в метках. В таких TSDB, как Graphite или OpenTSDB, вместо этого используется термин теги.
В табличных базах данных, таких как SQL, эти измерения обычно являются параметрами GROUP BY запроса.
Несколько измерений в табличном формате
В SQL или подобных SQL базах данных, возвращающих табличные ответы, дополнительные измерения обычно представлены в виде столбцов в таблице ответа на запрос.
Одно измерение
Например, рассмотрим запрос вида:
SELECT BUCKET(StartTime, 1h), AVG(Temperature) AS Temp, Location FROM T
GROUP BY BUCKET(StartTime, 1h), Location
ORDER BY time asc
Этот запрос вернёт таблицу с тремя столбцами с типами данных time, number и string соответственно:
Табличный формат — это длинный формат временного ряда, также называемый tall. В нём повторяются метки времени и повторяются значения в столбце Location. В этом случае в наборе есть два временных ряда, которые будут идентифицированы как Temp {Location=LGA} и Temp {Location=BOS}.
Отдельные временные ряды из набора извлекаются путём использования столбца типа time StartTime в качестве временного индекса временного ряда, столбца с числовым типом Temp в качестве имени ряда и имени и значений столбца строкового типа Location для построения меток, например Location=LGA.
Несколько измерений
Если запрос изменить так, чтобы выбирать и группировать более чем по одному строковому столбцу, например GROUP BY BUCKET(StartTime, 1h), Location, Sensor, то добавляется дополнительное измерение:
В этом случае метки, представляющие измерения, будут иметь два ключа на основе двух строковых столбцов Location и Sensor. Эти данные дают четыре ряда: Temp {Location=LGA,Sensor=A}, Temp {Location=LGA,Sensor=B}, Temp {Location=BOS,Sensor=A} и Temp {Location=BOS,Sensor=B}.
Note
Более одного измерения в настоящее время поддерживается только в запросах Logs в сервисе Azure Monitor начиная с версии 7.1.
Note
Несколько измерений не поддерживаются способом, который отображается на несколько оповещений в Grafana, — вместо этого они рассматриваются как несколько условий для одного оповещения. Дополнительные сведения см. в документации по созданию оповещений с несколькими рядами.
Несколько значений
В случае источников данных, подобных SQL, можно выбрать более одного числового столбца, с дополнительными строковыми столбцами в качестве измерений или без них. Например, AVG(Temperature) AS AvgTemp, MAX(Temperature) AS MaxTemp. Это в сочетании с несколькими измерениями может дать очень много рядов. Выбор нескольких значений в настоящее время предназначен для использования только с визуализацией.
Дополнительную техническую информацию о табличных форматах временных рядов и о том, как извлекаются измерения, можно найти в документации для разработчиков о кадрах данных как временных рядах.