Monitorización
Esta guía explica cómo la Plataforma de Distribución Stellar (SDP) expone métricas en tiempo de ejecución y cómo conectar esas métricas con el conjunto Prometheus + Grafana.
Puntos finales de métricas
Tanto el Dashboard API como el Servicio de Envío de Transacciones (TSS) exponen puntos finales /metrics compatibles con Prometheus. El servidor HTTP está definido en serve_metrics.go y se controla a través de las siguientes variables de entorno:
METRICS_PORT– Puerto usado por el servidor de métricas del Dashboard API (por defecto 8002).METRICS_TYPE– Backend de monitorización en uso (actualmentePROMETHEUS).TSS_METRICS_PORT– Puerto usado por el servidor de métricas del TSS (por defecto 9002).TSS_METRICS_TYPE– Backend de monitorización para el TSS (por defectoTSS_PROMETHEUS).
Cuando el servidor se inicia, monta la ruta /metrics y muestra contadores e histogramas específicos de solicitudes, base de datos y TSS que se alinean con los dashboards de Grafana provistos en Grafana README.
Conjunto local Prometheus y Grafana
Proveemos un archivo Docker Compose que inicia Prometheus y Grafana preconfigurados para extraer las métricas de la SDP.
- Desde la raíz del repositorio, ejecuta:
cd dev
docker compose -p sdp-multi-tenant -f docker-compose-monitoring.yml up -d
Esto lanza Prometheus en el puerto 9090 y Grafana en el puerto 3002 por defecto según la configuración de monitorización.
- El contenedor de Prometheus carga su configuración desde config prometheus, que apunta a
host.docker.internal:8002/metricspor defecto. Ajusta la lista detargetssi ejecutas la API en un host diferente o si quieres extraer las métricas del TSS (host.docker.internal:9002). - Grafana usa la configuración de datasource en datasource, que apunta a la instancia de Prometheus mencionada. Si tienes un despliegue de Prometheus existente, actualiza esta URL en consecuencia.
Para desmontar el conjunto de monitorización, ejecuta:
cd dev
docker compose -p sdp-multi-tenant -f docker-compose-monitoring.yml down
Cargar el Dashboard de Grafana de SDP
-
Navega a http://localhost:3002 e inicia sesión con las credenciales por defecto
admin/admin.
-
Haz clic en el ícono
+en la barra de navegación superior (junto al campo de búsqueda), eligeImportar dashboardy pega el contenido de Grafana Dashboard Json.
-
Selecciona el datasource
prometheusprovisto por datasource.
Este dashboard visualiza volumen/latencia de solicitudes HTTP, tiempos de consultas a base de datos y estadísticas de transacciones TSS, detalles descritos en Grafana README.md. Todos los paneles pueden filtrarse por método, ruta, tenant o instancia para distinguir tráfico entre múltiples despliegues.
Integración con instancias externas de Prometheus
Si ya gestionas un clúster Prometheus, añade trabajos de scrap equivalentes a los que están en config prometheus. Cada subsistema expone métricas en http://<host>:<METRICS_PORT>/metrics (Dashboard API) y http://<host>:<TSS_METRICS_PORT>/metrics (TSS). Los despliegues con Helm exponen las mismas configuraciones mediante sdp.configMap.data.METRICS_* y tss.configMap.data.TSS_METRICS_*. Una vez que los nuevos trabajos estén presentes, puedes importar el mismo JSON de dashboard en tu despliegue Grafana o adaptar las consultas PromQL a tu suite de observabilidad preferida.