VictoriaMetrics, una solución open source de monitoreo y una base de datos de series temporales 

VictoriaMetrics

VictoriaMetrics es una solución de monitoreo y una base de datos de series temporales rápida, rentable y escalable

Si estás en busca de una solución que te permita poder almacenar y procesar datos en forma de series de tiempo y dentro de esas soluciones te has topado con Prometheus, InfluxDB, TimescaleDB o Thanos y/o ademas de ello que pueda ejecutarse en Kubernetes, Docker o bare metal, no te adelantes y regalame 5 minutos de tu tiempo para que puedas conocer un poco sobre VictoriaMetrics.

VictoriaMetrics es una solución que encuentre buscando en la red un DBMS de código abierto para almacenar y procesar datos en forma de series de tiempo. En su momento hablé aquí en el blog sobre InfluxDB y esa era mi primera opción, pero VictoriaMetrics me convenció por mucho.

Sobre VictoriaMetrics

Como ya mencione VictoriaMetrics, proporciona un DBMS para datos en forma de series de tiempo, ademas de que está optimizado para resolver problemas de monitorización, con lo cual puedes tanto utilizar con Prometheus, como solo usar VictoriaMetrics en Grafana gracias a una API de consulta de Prometheus, por lo que puede ser un sustituto transparente para estos.

En su sitio web, se presume que en las pruebas de rendimiento, VictoriaMetrics supera a InfluxDB y TimescaleDB hasta 20 veces más rápido que InfluxDB y 7 veces menos RAM que Prometheus, Thanos y Cortex al procesar millones de series temporales únicas.

Ademas de que el almacenamiento de datos en forma comprimida permite incluir 7 veces más registros en la misma cantidad de almacenamiento en comparación con Prometheus, Thanos y Cortex, y 70 veces más que TimescaleDB. Existen optimizaciones específicas para almacenamiento con alta latencia y baja intensidad de E/S (por ejemplo, discos duros y almacenamiento en la nube AWS, Google Cloud y Microsoft Azure).

Cabe mencionar que VictoriaMetrics está diseñado como un único archivo ejecutable con configuraciones mínimas pasadas a través de la línea de comando al inicio. Todos los datos se almacenan en un directorio, especificado al inicio mediante un indicador.

victoriametrics-

screenshot de victoriametrics

El lenguaje de consulta utilizado es MetricsQL, una versión extendida del lenguaje PromQL utilizado en el sistema de monitoreo Prometheus. Además del procesamiento continuo de los datos entrantes, VictoriaMetrics también ofrece la posibilidad de descargar datos históricos recopilados previamente.

VictoriaMetrics proporcionan herramientas para proteger la integridad del almacenamiento contra la corrupción de datos, por ejemplo, durante un corte de energía de emergencia (el almacenamiento tiene la forma de un árbol estructurado por registros con fusión), así como un sistema de respaldo simple basado en instantáneas. Es posible combinar nodos de VictoriaMetrics en un clúster escalable horizontalmente que admita mecanismos de alta disponibilidad.

Dentro de las características de VictoriaMetrics, se destacan las siguientes:

  • Se puede utilizar como reemplazo directo de Graphite en Grafana, porque es compatible con Graphite API.
  • VictoriaMetrics permite reducir los costos de infraestructura en más de 10 veces en comparación con Graphite.
  • Es fácil de configurar y operar:
  • VictoriaMetrics consta de un pequeño ejecutable único sin dependencias externas.
  • Toda la configuración se realiza mediante indicadores explícitos de línea de comandos con valores predeterminados razonables.
  • Se pueden realizar copias de seguridad fáciles y rápidas a partir de snapshots con las herramientas vmbackup / vmrestore.
  • Proporciona una vista de consulta global. Varias instancias de Prometheus o cualquier otra fuente de datos pueden ingerir datos en VictoriaMetrics. Posteriormente, estos datos podrán consultarse mediante una única consulta.
  • Proporciona alto rendimiento y buena escalabilidad vertical y horizontal tanto para la ingesta como para la consulta de datos. Supera a InfluxDB y TimescaleDB hasta 20 veces.
  • Proporciona una alta compresión de datos, por lo que se pueden almacenar hasta 70 veces más puntos de datos en un almacenamiento limitado en comparación con TimescaleDB.

Por último y no menos importante, cabe mencionar que VictoriaMetrics recibió hace poco una nueva actualización, VictoriaMetrics 1.94 y de sus cambios más notables, se destaca una opción a la interfaz vmui para mostrar las 25 solicitudes más recientes, asi como la capacidad para exportar datos a Prometheus a la página «Explore cardinality»

Se agregó un botón para formatear automáticamente las consultas PromQL/MetricsQL, ademas de que se mejoro la visibilidad de los diagramas. El almacenamiento del historial de solicitudes se ha agregado a localStorage y en vmagent se han ampliado las capacidades de gestión de los nodos del clúster, ha mejorado el manejo de errores y ha reducido la carga en el panel de control de Kubernetes durante el descubrimiento inicial del servicio.

Finalmente si estás interesado en poder conocer más al respecto, te invito a que consultes su repositorio en GitHub, donde podrás encontrar mayor información asi como las instrucciones para poder instalarlo.


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.