В чем разница между OpenTSDB и Graphite?

28

Насколько я могу судить, вот основные отличия:

  1. OpenTSDB не портит данные с течением времени, в отличие от Graphite, где размер базы данных заранее определен.
  2. OpenTSDB может хранить метрики в секунду, в отличие от Graphite, у которой есть минутные интервалы (я не уверен в этом, документы Graphite показывают политики хранения, которые хранят метрики каждую минуту, но я не знаю, является ли это минимальной единицей времени, которую мы можно поиграть)

Я хочу принять обоснованное решение о том, какой инструмент использовать для хранения метрик, пропустил ли я какие-либо другие различия в этих двух системах? Насколько они производительны / масштабируемы?

Бонусный вопрос: есть ли какая-нибудь другая система временных рядов, на которую я должен обратить внимание?

vedang
источник

Ответы:

46

Отказ от ответственности: я написал OpenTSDB .

Я бы сказал, что самое большое преимущество Graphite - это превосходные графические возможности . Он предлагает больше типов графиков и функций. Сложность развертывания также, вероятно, немного ниже в Graphite, поскольку она не является распределенной системой и поэтому имеет меньше движущихся частей.

OpenTSDB , с другой стороны, способен хранить значительно больший объем точных данных. Это происходит за счет развертывания HBase , что не так уж и сложно , если честно. Если вы хотите получать данные в режиме реального времени до секунды с >> 10k новых точек данных / с, то OpenTSDB вам подойдет.

Некоторая информация о нашей текущей шкале на StumbleUpon (эти цифры обычно удваиваются каждые 2-3 месяца):

  • Более 1B новых точек данных в день (в среднем = 12k / s).
  • Сотни миллиардов точек хранения данных.
  • Меньше 2 ТБ дискового пространства (до 3x репликации HDFS).
  • Запросы чтения обычно способны извлекать, обрабатывать и отображать более 500 тыс. Точек данных в секунду.
Тсуна
источник
3
Интервал графита настраивается. Я обычно использую 10-секундные периоды мониторинга. И графики действительно милые. В противном случае, я думаю, что ответ Цуны на ура
Трэвис Беар
19

Пользовательский интерфейс

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

Несколько примеров:

  • Панель инструментов Grafana , с динамическими (масштабируемыми) графиками

пример графической панели

пример панели инструментов графического обозревателя

Пример диаграммы cubism.js

Посмотрите здесь или здесь, чтобы найти еще много.

OpenTSDB с другой стороны все еще находится на стадии gnuplot: Веб-интерфейс OpenTSDB

Настроить

На практике Graphite на самом деле гораздо сложнее в настройке, чем HBase + OpenTSDB. OpenTSDB имеет исчерпывающую документацию и несколько простых шагов. Это команды для установки Graphite , все становится еще сложнее, если вы строите из исходного кода.

Выступления

OpenTSDB не портит данные с течением времени, в отличие от Graphite, где размер базы данных заранее определен.

Правда. Кроме того, Graphite использует формат файла, аналогичный RRD, на практике это означает, что одна точка данных будет занимать столько же дискового пространства, сколько и полная серия, так как это пространство предварительно выделено. Это также означает, что построение пустого временного интервала займет столько времени, сколько там было данных (работает альтернативный механизм хранения, Ceres , но я еще не пробовал).

Как сказал Цуна, OpenTSDB позволит вам хранить значительно больше точек данных, используя мощь HDFS Hadoop. С другой стороны, графит, архитектура которого подробно описана в этой главе AOSA , является более быстрым решением.

OpenTSDB может хранить метрики в секунду, в отличие от графита, который имеет минутные интервалы.

Нет, оба могут войти ко второму.

MasterScrat
источник
1
похоже, opentsdb отлично подходит для хранения данных, а графит - для построения графиков. Можно ли указать графит на opentsdb для бэкэнда. Мне было бы интересно посмотреть, если кто-нибудь смог подключиться к opentsdb из графита.
user1471980
4
Обратите внимание, что Grafana также поддерживает OpenTSDB, и есть другие привлекательные интерфейсы для OpenTSDB, такие как metrilx .
Уилфред Хьюз
@WilfredHughes говорит о том, что Grafana поддерживает OpenTSDB. Также обратите внимание, что OpenTSDB может сохранять данные с точностью до миллисекунды.
Николай