Vistazo
Implementación de plataforma de observabilidad y monitoreo basada en Grafana
Objetivo general
Diseñar e implementar una plataforma centralizada de observabilidad para los servicios de FacilContabilidad, que permita visualizar en tiempo real el estado de la infraestructura, las APIs y los componentes de mensajería, así como analizar incidentes a partir de métricas y logs históricos.
Alcance
- Grafana como consola principal de observabilidad
- Despliegue de Grafana en el entorno de producción.
- Configuración de autenticación y organización básica (organizaciones, carpetas, permisos).
- Creación de dashboards iniciales para:
- Salud de la infraestructura (estado de contenedores/servicios críticos).
- Métricas de la API (apifc.facilcontabilidad.org) y servicios relacionados.
- Monitoreo del sistema de mensajería (Kafka, Redis) a través de paneles dedicados.
- Loki + Promtail para logs centralizados
- 2.1 Despliegue de Loki como backend de logs.
-
- 2.2 Despliegue y configuración de Promtail para recopilar logs desde:
-
- 2.2.1 Nginx (reverse proxies y balanceadores).
-
- 2.2.2 API FacilContabilidad y otros servicios backend.
- 2.3 Configuración de labels estándar (servicio, entorno, host, etc.) para facilitar filtros y correlación.
- 2.4 Integración de Loki como data source en Grafana y creación de vistas de exploración de logs (Explore).
- Buenas prácticas de observabilidad
- 3.1 Definición de convenciones de logging estructurado en la API (JSON + metadatos de servicio, entorno, versión, correlationId).
- 3.2 Configuración de paneles y consultas que permitan correlacionar:
-
- 3.2.1 Logs de la API con logs de Nginx y Kafka.
-
- 3.2.2 Eventos específicos mediante correlationId / X-Correlation-Id.
- Alertas e integración futura
- 4.1 Definir alertas básicas (errores HTTP 5xx, caídas de servicios, ausencia de logs, etc.) utilizando Loki/Grafana.
- 4.2 Dejar preparado el entorno para integrar fuentes de métricas adicionales (Prometheus u otros exporters) en futuras iteraciones.
- Prometheus para métricas de infraestructura y aplicaciones
- 5.1 Despliegue de Prometheus como servidor de métricas.
- 5.2 Configuración de targets y exporters para:
- 5.2.1 Infraestructura (Node Exporter para hosts Linux, métricas de Docker).
-
- 5.2.2 Bases de datos (exporter para PostgreSQL).
-
- 5.2.3 Sistema de mensajería (exporters para Kafka y Redis, si aplica).
-
- 5.2.4 API de FacilContabilidad (exposición de métricas HTTP, latencias, errores, etc. vía middleware/SDK de Prometheus).
- 5.3 Integración de Prometheus como data source en Grafana.
- 5.4 Creación de dashboards de:
-
- 5.4.1 Rendimiento de la API (latencia, throughput, error rate).
-
- 5.4.2 Estado de Kafka y Redis (cola de mensajes, lag de consumidores, conexiones, etc.).
-
- 5.4.3 Recursos de sistema (CPU, RAM, disco, red).
Resultado esperado
Contar con un stack de observabilidad (Grafana + Loki + Promtail + Prometheus) operativo en producción, que centralice logs y facilite el monitoreo proactivo, la detección temprana de problemas y el análisis de incidentes en todos los componentes críticos del sistema.
Aplicaciones que integran este módulo:
Grfana
Prometheus
Loki
Promtail
- Sitio web: https://grafana.facilcontabilidad.com