Stack compartido de observabilidad para la plataforma.
Incluye:
- Prometheus
- Loki
- Promtail
- Grafana
Este modulo no levanta Kafka ni microservicios. Solo observa servicios que ya estan disponibles.
docker-compose-dev.yml: observabilidad paradevdocker-compose.yml: observabilidad paraprodprometheus/prometheus-dev.yml: targets dev porhost.docker.internalprometheus/prometheus.yml: targets prod por nombres Docker enms-netgrafana/provisioning: datasources de Grafana
| Herramienta | DEV | PROD |
|---|---|---|
| Prometheus | 19090 | 29090 |
| Loki | 13100 | 23100 |
| Grafana | 13000 | 23000 |
Grafana usa:
admin / admin
En dev, observability usa una red propia:
obs-dev-net
Los servicios dev suelen correr en el host con Maven, por eso Prometheus usa host.docker.internal.
En prod, observability usa la red externa:
ms-net
Esa red la crea infra.
Prometheus dev scrapea:
- Gateway:
host.docker.internal:7091 - Producto:
host.docker.internal:9091 - Catalogo:
host.docker.internal:8081 - Kafka exporter:
host.docker.internal:41308 - Orden MS:
host.docker.internal:19051 - Pago MS:
host.docker.internal:19061
Prometheus prod scrapea:
- Gateway:
gateway:7091 - Producto:
producto:9092 - Catalogo:
catalogo:8082 - Kafka exporter:
kafka-exporter:9308 - Orden MS:
orden-ms:9021 - Pago MS:
pago-ms:9031
Promtail lee estas carpetas y envia los logs a Loki con etiqueta service:
infra/gateway/logs->gatewayservices/catalogo/logs->catalogoservices/producto/logs->productoservices/orden-ms/logs->orden-msservices/pago-ms/logs->pago-ms
Puedes levantar observability antes o despues de Kafka y los microservicios. Si un target aun no existe, Prometheus lo marcara DOWN hasta que aparezca.
cd C:\ms1\ProyectosMS2026\observability
docker compose -f docker-compose-dev.yml up -dAccesos:
- Prometheus:
http://localhost:19090 - Grafana:
http://localhost:13000 - Loki:
http://localhost:13100
Primero debe existir ms-net, creada por infra:
cd C:\ms1\ProyectosMS2026\infra
docker compose up -dLuego Kafka y microservicios, si quieres ver sus metricas. Finalmente:
cd C:\ms1\ProyectosMS2026\observability
docker compose up -dAccesos:
- Prometheus:
http://localhost:29090 - Grafana:
http://localhost:23000 - Loki:
http://localhost:23100
En Prometheus, revisar:
Status -> Targets
Para Kafka:
- dev: target
kafka-exporter-dev - prod: target
kafka-exporter
Si aparece UP, Grafana ya puede consultar esas metricas desde Prometheus.
# dev
docker compose -f docker-compose-dev.yml logs -f prometheus
docker compose -f docker-compose-dev.yml logs -f grafana
# prod
docker compose logs -f prometheus
docker compose logs -f grafana- Prometheus dev/prod
- Grafana dev/prod
- Loki dev/prod
- Promtail para logs centralizados
- Scrape de Gateway, catalogo y producto
- Scrape de
orden-msypago-ms - Scrape de Kafka Exporter
- Datasource Grafana provisionado
- Dashboards versionados por servicio
- Alertas formales por ambiente
git tag -a vs09-kafka -m "eda con vs09-kafka"
git push origin vs09-kafka