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!!!

Humor:Tan concentrado estaba en mi pomodoro

Publicado en Humor. Leave a Comment »
A %d blogueros les gusta esto: