Proyecto

General

Perfil

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

  1. 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.
  1. 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).
  1. 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.
  1. 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.
  1. 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

Miembros

Desarrollador: Juan Carlos Reyes

Administradores: Willigran Charco