OpenTSDB и несколько значений в одном измерении

Насколько я понимаю, OpenTSDB обрабатывает временные ряды, в которых измерение представляет собой одно значение. Многие измерительные устройства выдают набор значений в одном измерении. Например, это может быть одно измерение для одного устройства: 2012-12-16 01:00:00, temp=12, current=2, waterheight=3, nacl-level0.5, ....

Позволяет ли OpenTSDB хранить их вместе или я вынужден хранить их как отдельные временные ряды?


person Gummi    schedule 08.12.2012    source источник


Ответы (3)


Было бы лучше хранить их как отдельные временные ряды, чтобы у вас был один для температуры, один для течения, один для высоты воды, один для уровня NaCl и т. д. Вы всегда можете запросить их вместе.

Теги следует использовать в первую очередь для классификации точек данных одинакового характера, например, если у вас есть несколько точек измерения, тогда у вас будет тег, указывающий, какое устройство собрало измерение. Это позволит вам получить временные ряды для каждого устройства или получить совокупное представление обо всем (либо путем суммирования, либо усреднения и т. д.).

person tsuna    schedule 17.01.2013

Помимо того, что tsuna абсолютно корректна, я не думаю, что это возможно с OpenTSDB. Строки, в которых сохраняются ваши данные, имеют один уникальный ключ строки и несколько значений — все одного вида.

Вы можете указать только одно значение для каждой временной метки (наименьший временной интервал: 1 секунда) и для каждого ключа строки (имя метрики + часовая временная метка + имя тега). Таким образом, вы просто не можете поместить значения с одной и той же отметкой времени или с разными тегами в одну строку временного ряда. Или как бы вы хотели различать разные точки измерения (температура, ток, высота воды и т. д.) без использования тегов?

person David Hermanns    schedule 12.02.2014

Дэйвид,

Обработка данных описана в: http://opentsdb.net/docs/build/html/user_guide/writing.html

Можно заставить OpenTSDB хранить данные таким образом (требуется некоторая настройка и перекомпиляция), вы в основном правы: это не тот способ, которым вы хотите это сделать.

Судя по измерениям, которые нужно сохранить, я думаю, что действительно работал в этой области раньше. Есть 2 причины хранить ряды как отдельные временные ряды:

  • Вы можете добавить только 8 тегов к одной точке данных, поэтому у вас может быть только 6 измерений, при условии, что 1 тег используется для идентификации и 1 – для местоположения.
  • Сохраняя их как отдельные временные ряды, вы можете воспользоваться преимуществами замечательных внутренних инструментов анализа данных OpenTSDB.

Если структурировать так:

1d.height t=timedate height rivername=name

Вы можете мгновенно получить среднюю высоту всей реки.

Представьте, что вы могли бы сделать с двумерными водоемами:

 2d.height t=timedate height type=lake name=IJsselmeer xcoord=xx ycoord=yy 

Существует ограничение на количество возможных значений тегов (16M). В зависимости от разрешения того, что вы хотите сохранить, вы можете разделить данные на сектора и точки сетки. (если вы хотите сохранить Атлантику в разрешении 1M)

person user37699    schedule 08.08.2014