Un poco de OpenTSDB (y de StatusWolf)

Tengo que publicar esto ya, que tengo a Luis dejándome a traición presentaciones como esta en mi mesa 😀

OpenTSDB se define como una Base de Datos de Series Temporales (TSDB de Time Series DataBase) distribuida y escalable montada sobre HBase.

OpenTSBD es un producto Open Source (LGPL) y está pensada para almacenar y servir métricas recopiladas de aplicaciones, sistemas operativos, base de datos, firewalls,… a gran escala y pensando en hacer estos datos accesibles y gráficos.

Entre sus principales características

· Al basarse en HBase OpenTSDB permite recolectar miles de métricas de miles de aplicaciones a una alta frecuencia.

· Nunca base y hacer downsample de los datos

· Puede almacenar billones de puntos

Y tiene aplicación en escenarios como:

· Recuperar información de estado en tiempo real sobre nuestros servicios o infraestructura

· Entender como sistemas complejos interactúan entre ellos (je,je! mira Mario, para poder sacar las dependencias de tu gráfico :D)

· Medir SLAS como disponibilidad, latencia,…

· Hacer tuning de aplicaciones y base de datos

Se usa en sitios como:

· StumbleUpon para hacer tracking de cientos de miles de series temporales (1 billón de data points por día)

· En Box o Tumblr con decenes de billones de datos por día.

En OpenTSDB, un data point se compone de:

  • Un nombre de métrica
  • Un timestamp UNIX (segundos): sí, no soporta precision de milisegundos 🙂
  • Un valor (64 bit integer o double-precision floating point value).
  • Un conjunto de tags (pares clave-valor) que anotan el data point

Para trabajar con OpenTSDB se escriben pequeños scripts que recolectan datos de tus sistemas (por ejemplo de base de datos MySQL, de SNMP, de JMS,…) y hacen push a uno de los TSDs (Time Series Daemon) cada pocos segundos:

· El script más sencillo sería este:

Donde "1234567890" es el timpo actual epoch (date +%s) en segundos (resolución de OpenTSDB es de 1 segundo)

El siguiente número es el valor de la métrica en ese momento

Ese valor es para el dato del host A, de modo que se tagea como host=A

· Ofrece una línea de comandos para crear queries, métricas, escanear datos, arrancar TDS,…

· Existe un API HTTP que permite cosas como:

· API Java

· En StumbleUpon tienen un framework Python (tcollector) que recolecta miles de métricas (Linux 2.6, Apache’s HTTPd, MySQL, HBase, memcached, Varnish,…)

· Integración con Nagios

La versión actual es la 1.1, si os ha interesado lo que ofrece os recomiendo seguir por su Manual, que ofrece muchos conceptos que hay que asimilar 😀

El equipo ya está trabajando en la versión 2 que incorpora muchas novedades, como podemos ver en su documentación, entre otras muchas:

· Un GUI:

Que permite construir queries:

· Plugins para personalizar los TSDs (plugins son JARs)

· Métricas predefinidas

Además alrededor de OpenTSDB existe una herramienta muy interesante: StatusWolf:

StatusWorlf es un dashboard hecho en PHP, muy configurable que integra OpenTSDB como data-source:

· permite buscar métricas

· Mostrar gráficos

· Hacer displays personalizados

· Detectar anomalías:

· Guardar y compartir gráficos:

Venga Luis, me has convencido, lo probamos!!!

Anuncios

4 comentarios en “Un poco de OpenTSDB (y de StatusWolf)

  1. Luis

    joder, esta sí que me ha costado… 🙂

    Insisto en que merece la pena revisar cómo ha evolucionado el modelo de datos de openTSDB, porque es un buen ejemplo de cómo se debe abordar el uso de cualquier base de datos NoSQL.

  2. Pingback: Cómo OpenTSDB almacena las series temporales en HBase | La bitacora net

  3. Pingback: Cómo OpenTSDB almacena las series temporales en HBase | Un poco de Java

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s