Header Ads Widget

Ticker

6/recent/ticker-posts

Monitoreo de API con Prometheus, Grafana, AlertManager y VictoriaMetrics

 

Dado que muchas organizaciones están estudiando las finanzas abiertas este año, también están investigando cómo las herramientas pueden ayudar a lograr un mejor control y gobernanza de los procesos bancarios.

Cuando integra su software con las API bancarias, abre un abanico de posibilidades. ¿Pero cómo controlas todo esto? ¿Cómo puede supervisar los servicios que respaldan estas interacciones? ¿Funcionan correctamente? La respuesta a estas preguntas es el monitoreo, que se puede lograr con Prometheus , AlertManager , Grafana y VictoriaMetrics .

El monitoreo efectivo puede traer muchos beneficios a su negocio, tales como:

  • Mayor agilidad en la resolución de problemas,
  • Identificar inestabilidades y picos de transacciones de alto volumen;
  • Y tener un mejor control de datos.

Por otro lado, las herramientas de código abierto no hacen el trabajo solas. Al desarrollar API y aplicaciones web, es necesario considerar cómo hacer que las métricas operativas, tácticas y estratégicas estén disponibles en un formato específico compatible de forma nativa con Prometheus [1] [2] [3].

Decidir qué métricas exponer no tiene que ser decisión exclusiva de los equipos de desarrollo de software. Los equipos de soporte y operaciones, éxito del cliente, consultoría, propietario del producto, gerentes, directores y otras personas involucradas en la continuidad del negocio también deben dar su opinión sobre qué datos deben monitorearse y verse en paneles e informes. Tenga en cuenta que la supervisión va más allá de la simple preocupación por la disponibilidad de las API y las aplicaciones web. Una supervisión bien planificada puede contribuir a obtener conocimientos y análisis que, con el tiempo, pueden resultar en el desarrollo de nuevas funciones, productos o correcciones de errores.

Repasemos estas herramientas de monitoreo de código abierto y sus capacidades. Aquí hay una breve descripción de cada uno:

  • Prometheus : un sistema para recopilar métricas de aplicaciones y servicios para su almacenamiento en una base de datos de series de tiempo. Es muy eficaz.
  • AlertManager : funciona de forma integrada con Prometheus para evaluar las reglas de alerta y enviar notificaciones por correo electrónico, Jira, Slack y otros sistemas compatibles.
  • Grafana : una solución de análisis y observabilidad que admite varios sistemas de recopilación de registros y métricas. Cuando se integra con Prometheus, Grafana muestra métricas en paneles elegantes y útiles para diferentes áreas de una organización.
  • Prometheus-Operator : software para simplificar y automatizar la instalación y configuración de Prometheus, AlertManager, Grafana y exportadores en clústeres de Kubernetes [4].
  • VictoriaMetrics : una solución de monitoreo y base de datos de series de tiempo rápida, rentable y escalable. Pero en nuestro caso, se utiliza para el almacenamiento centralizado y a largo plazo de las métricas recopiladas por diferentes servidores de Prometheis (la forma plural de Prometheus).

Todas estas herramientas son de código abierto y están disponibles en Github.

Caso de estudio

Para demostrar cómo estas herramientas se pueden usar de manera integrada y los beneficios que se obtienen al monitorear las API, las aplicaciones web y los servicios de red, considere cómo Sensedia usó estas mismas herramientas durante el Black Friday 2020 en Brasil. En este día, incluso durante el período de la pandemia, hubo un aumento considerable en el negocio digital de las empresas de diferentes sectores de la economía.

El entorno de producción de Sensedia es multinube y tiene varios clústeres de Kubernetes distribuidos en AWS y GCP. Allí se ejecutan las aplicaciones y los servicios que utilizan los clientes.

Básicamente, en cada clúster de Kubernetes, Prometheus-Operator se instala para administrar solo Prometheus y los exportadores necesarios para recopilar las métricas. En lugar de instalar Grafana y Alertmanager en cada clúster, se eligió instalar estos servicios en un solo clúster.

Todas las métricas recopiladas por Prometheis se envían a VictoriaMetrics, que centraliza su almacenamiento y consultas. De forma predeterminada, Prometheus-Operator almacena métricas localmente durante solo dos horas. Con VictoriaMetrics, podemos almacenar todas las métricas de todos los Prometheis durante mucho tiempo.

Luego, Grafana se configura para conectarse a VictoriaMetrics para consultar y mostrar las métricas. En cuanto a las alertas, todos los Prometheis envían a un grupo de AlertManager. De esta forma, se garantiza la disponibilidad y centralización de métricas y alertas. Vale la pena mencionar que todos los datos se transmiten en forma encriptada, y los datos se hacen accesibles a través de autenticación y desde IPs de origen autorizadas.

Sobre los números:

  • Volumen: 2 TB
  • Serie de tiempo activa: 2,3 millones
  • Uso de espacio en disco: 67 GB (las métricas se rotan cada 15 días)
  • Tasa de ingestión: 40,1 K puntos / segundo
  • Tasa de solicitudes: 134 peticiones / segundo
  • Puntos de datos totales: 90,3 mil millones (las métricas se rotan cada 15 días)
  • Uso de la red:
    • 20 Mbps utilizados solo para recibir métricas de todos los Prometheis.
    • 70 Kbps utilizados solo para verificar métricas a través de Grafana.

El uso de este conjunto de herramientas permite no solo el monitoreo de aplicaciones sino también el monitoreo de APIs y aspectos importantes para la continuidad del negocio.

En resumen

En esta publicación, aprendimos más sobre un conjunto de herramientas que se utilizan para monitorear API, servicios y aplicaciones. También exploramos un estudio de caso de estas herramientas en la práctica durante el Black Friday de 2020.

Publicar un comentario

0 Comentarios