¿Cuál es la diferencia entre OpenTSDB y Graphite?

28

Por lo que puedo decir, aquí están las principales diferencias:

  1. OpenTSDB no deteriora los datos con el tiempo, a diferencia de Graphite, donde el tamaño de la base de datos está predeterminado.
  2. OpenTSDB puede almacenar métricas por segundo, a diferencia de Graphite que tiene intervalos de minutos (no estoy seguro de esto, los documentos de Graphite muestran políticas de retención que almacenan métricas cada minuto, pero no sé si esta es la unidad mínima de tiempo que tenemos puede jugar con)

Quiero tomar una decisión informada sobre qué herramienta utilizar para almacenar las métricas, ¿me he perdido alguna otra diferencia en estos 2 sistemas? ¿Qué rendimiento / escalabilidad tienen?

Pregunta adicional: ¿Hay algún otro sistema de series temporales que deba mirar?

vedang
fuente

Respuestas:

46

Descargo de responsabilidad: escribí OpenTSDB .

Yo diría que la mayor ventaja de Graphite parece ser una capacidad gráfica superior . Ofrece más tipos de gráficos y características. La complejidad de la implementación también es probablemente un poco menor con Graphite, ya que no es un sistema distribuido y, por lo tanto, tiene menos partes móviles.

OpenTSDB , por otro lado, es capaz de almacenar una cantidad significativamente mayor de puntos de datos específicos. Esto tiene el costo de implementar HBase , que no es un gran problema para ser honesto. Si desea obtener datos en tiempo real hasta el segundo con >> 10k nuevos puntos / s de datos, entonces OpenTSDB le vendrá bien.

Alguna información sobre nuestra escala actual en StumbleUpon (estos números generalmente se duplican cada 2-3 meses):

  • Más de 1B nuevos puntos de datos por día (= 12k / s en promedio).
  • Cientos de miles de millones de puntos de datos almacenados.
  • Menos de 2 TB de espacio en disco consumido (antes de la replicación 3x por HDFS).
  • Las consultas de lectura generalmente son capaces de recuperar, combinar y trazar más de 500k puntos de datos por segundo.
tsuna
fuente
3
El intervalo de grafito es configurable. Normalmente uso períodos de monitoreo de 10 segundos. Y los gráficos son realmente dulces. De lo contrario, creo que la respuesta de tsuna es explosiva
Travis Bear
19

Interfaz de usuario

Graphite tiene algunas excelentes herramientas gráficas disponibles. La interfaz web predeterminada es fea (aunque funcional), pero luego tiene una gran cantidad de excelentes opciones de gráficos y paneles.

Algunos ejemplos:

  • Tablero de Grafana , con gráficos dinámicos (con zoom)

ejemplo de tablero de grafana

ejemplo del tablero del explorador de gráficos

ejemplo de gráfico cubism.js

Mira aquí o aquí para encontrar muchos más.

OpenTSDB por otro lado todavía está en la etapa gnuplot: Interfaz web OpenTSDB

Preparar

En la práctica, Graphite es mucho más difícil de configurar que HBase + OpenTSDB. OpenTSDB tiene una documentación completa y algunos pasos sencillos. Estos son los comandos para instalar Graphite , las cosas se ponen aún más complicadas si construyes desde la fuente.

Actuaciones

OpenTSDB no deteriora los datos con el tiempo, a diferencia de Graphite, donde el tamaño de la base de datos está predeterminado.

Cierto. Además, Graphite utiliza un formato de archivo similar al RRD, en la práctica esto significa que un único punto de datos ocupará tanto espacio en disco como la serie de tiempo completo, ya que este espacio está preasignado. Esto también significa que trazar un intervalo de tiempo vacío tomará tanto tiempo como si hubiera datos allí (un motor de almacenamiento alternativo, Ceres , está trabajando pero aún no lo he probado).

Como dijo tsuna, OpenTSDB le permitirá almacenar significativamente más puntos de datos, aprovechando el poder de HDFS de Hadoop. El grafito, por otra parte, cuya arquitectura se detalla en este capítulo de AOSA , es una solución más ad hoc.

OpenTSDB puede almacenar métricas por segundo, a diferencia del grafito que tiene intervalos de minutos.

No, ambos pueden iniciar sesión en el segundo.

MasterScrat
fuente
1
parece que opentsdb es ideal para almacenar datos y el grafito es mejor para graficar. ¿Es posible apuntar grafito a opentsdb para backend? Me gustaría ver si alguien pudo conectarse a opentsdb desde el grafito.
user1471980
44
Tenga en cuenta que Grafana también es compatible con OpenTSDB, y hay otras interfaces atractivas para OpenTSDB como metrilyx .
Wilfred Hughes
@WilfredHughes hace un buen punto acerca de Grafana apoyando OpenTSDB. También tenga en cuenta que OpenTSDB puede almacenar hasta una precisión de milisegundos.
Nicholas