Componentes de nuestro stack de Observabilidad
Un stack de obsevaribilidad es un conjunto de herramientas cuyo propósito es recopilar datos relevantes sobre el comportamiento y el estado de uno o más sistemas y presentarlos de una manera que facilite la comprensión.
Pilares
Los tres pilares de un stack de observabilidad son:
- Métricas
Una métrica es una medida del estado de un sistema. Las métricas generalmente se recopilan a intervalos regulares y se utilizan para entender el comportamiento del sistema a lo largo del tiempo.
- Logs
Los logs son registros de eventos que ocurrieron en un sistema. Los logs generalmente se utilizan para entender el comportamiento del sistema en un momento específico.
- Traces
Las trazas son registros del camino de una solicitud a través de un sistema. Las trazas generalmente se utilizan para entender el comportamiento del sistema al manejar una solicitud.
Herramientas
Las herramientas que van a componer nuestro stack de observabilidad son:
- Grafana
Grafana es una suite de análisis y visualización de métricas de código abierto. Se utiliza comúnmente para visualizar datos de series temporales para análisis de infraestructura y aplicaciones.
- Prometheus
Prometheus es un motor de base de datos de series temporales de código abierto que se utiliza comúnmente para almacenar métricas. Además, Prometheus proporciona un lenguaje de consulta para analizar los datos almacenados y un servicio de alertas.
- Node Exporter
Node Exporter recopila métricas sobre la máquina host y las envía a Prometheus.
- Blackbox Exporter
Blackbox Exporter recopila métricas sobre un objetivo al sondearlo mediante HTTP, HTTPS, DNS, TCP e ICMP.
- cAdvisor
cAdvisor analiza el uso de recursos y las características de rendimiento de los contenedores en ejecución.
- Loki
Loki es un sistema de agregación de logs escalable horizontalmente, altamente disponible y multitenant inspirado en Prometheus.
- Promtail
Promtail envía el contenido de los logs locales a una instancia de Loki.
Nuestro stack de forma visual
El siguiente diagrama muestra cómo se relacionan los componentes de nuestro stack de observabilidad:
