feat(observability): add OpenTelemetry Collector, Jaeger, and custom dashboard for monitoring
fix(infra): update NATS configuration for OpenTelemetry tracing and JetStream support refactor(dapr): modify Dapr sidecar configuration to use new resources path and config file chore(docs): update deployment documentation to include observability services docs(commit-convention): establish commit message guidelines for Asepharyana Hub docs(deploy-workflow): outline CI/CD pipeline and manual deployment steps for Asepharyana Hub feat(event-driven): implement event-driven architecture patterns with Dapr and NATS docs(hub-rules): define repository structure, submodule strategy, and infrastructure patterns
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
services:
|
||||
# ── OpenTelemetry Collector ──
|
||||
otel-collector:
|
||||
container_name: otel-collector
|
||||
image: otel/opentelemetry-collector-contrib:latest
|
||||
restart: always
|
||||
networks:
|
||||
app-shared-net:
|
||||
aliases:
|
||||
- otel-collector
|
||||
ports:
|
||||
- '4317:4317' # OTLP gRPC
|
||||
- '4318:4318' # OTLP HTTP
|
||||
- '8889:8889' # Prometheus metrics
|
||||
command:
|
||||
- '--config=/etc/otel/config.yml'
|
||||
volumes:
|
||||
- ../../infra/otel/otel-collector-config.yml:/etc/otel/config.yml:ro
|
||||
depends_on:
|
||||
jaeger:
|
||||
condition: service_started
|
||||
|
||||
# ── Jaeger (Tracing Backend + Built-in UI) ──
|
||||
jaeger:
|
||||
container_name: jaeger
|
||||
image: jaegertracing/all-in-one:latest
|
||||
restart: always
|
||||
networks:
|
||||
app-shared-net:
|
||||
aliases:
|
||||
- jaeger
|
||||
ports:
|
||||
- '16686:16686' # Jaeger UI + API
|
||||
environment:
|
||||
- COLLECTOR_OTLP_ENABLED=true
|
||||
- COLLECTOR_ZIPKIN_HOST_PORT=:9411
|
||||
- METRICS_STORAGE_TYPE=prometheus
|
||||
- PROMETHEUS_SERVER_URL=http://otel-collector:8889
|
||||
- LOG_LEVEL=info
|
||||
|
||||
# ── Custom Dashboard (nginx:alpine) ──
|
||||
dashboard:
|
||||
container_name: dashboard
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: infra/docker/dashboard.Dockerfile
|
||||
restart: always
|
||||
networks:
|
||||
app-shared-net:
|
||||
aliases:
|
||||
- dashboard
|
||||
ports:
|
||||
- '8080:8080'
|
||||
|
||||
networks:
|
||||
app-shared-net:
|
||||
name: app-shared-net
|
||||
external: true
|
||||
Reference in New Issue
Block a user