feat: add preprod observability foundation
This commit is contained in:
94
deploy/observability/compose.observability.yml
Normal file
94
deploy/observability/compose.observability.yml
Normal file
@@ -0,0 +1,94 @@
|
||||
services:
|
||||
api:
|
||||
environment:
|
||||
OTEL_SERVICE_NAME: socialize-api
|
||||
OTEL_EXPORTER_OTLP_ENDPOINT: http://alloy:4317
|
||||
OTEL_EXPORTER_OTLP_PROTOCOL: grpc
|
||||
OTEL_RESOURCE_ATTRIBUTES: deployment.environment=preprod
|
||||
depends_on:
|
||||
alloy:
|
||||
condition: service_started
|
||||
|
||||
grafana:
|
||||
image: grafana/grafana:13.0.1
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
GF_SECURITY_ADMIN_USER: ${GRAFANA_ADMIN_USER:-admin}
|
||||
GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_ADMIN_PASSWORD:-admin}
|
||||
GF_USERS_ALLOW_SIGN_UP: "false"
|
||||
volumes:
|
||||
- grafana-data:/var/lib/grafana
|
||||
- ./observability/grafana/provisioning:/etc/grafana/provisioning:ro
|
||||
- ./observability/grafana/dashboards:/var/lib/grafana/dashboards:ro
|
||||
ports:
|
||||
- "${GRAFANA_HTTP_BIND:-127.0.0.1}:3000:3000"
|
||||
depends_on:
|
||||
- prometheus
|
||||
- loki
|
||||
- tempo
|
||||
networks:
|
||||
- internal
|
||||
|
||||
prometheus:
|
||||
image: prom/prometheus:v3.11.3
|
||||
restart: unless-stopped
|
||||
command:
|
||||
- --config.file=/etc/prometheus/prometheus.yml
|
||||
- --storage.tsdb.path=/prometheus
|
||||
- --storage.tsdb.retention.time=${PROMETHEUS_RETENTION:-15d}
|
||||
- --web.enable-remote-write-receiver
|
||||
volumes:
|
||||
- prometheus-data:/prometheus
|
||||
- ./observability/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
||||
- ./observability/prometheus/rules:/etc/prometheus/rules:ro
|
||||
networks:
|
||||
- internal
|
||||
|
||||
loki:
|
||||
image: grafana/loki:3.7.1
|
||||
restart: unless-stopped
|
||||
command: -config.file=/etc/loki/local-config.yml
|
||||
volumes:
|
||||
- loki-data:/loki
|
||||
- ./observability/loki/local-config.yml:/etc/loki/local-config.yml:ro
|
||||
networks:
|
||||
- internal
|
||||
|
||||
tempo:
|
||||
image: grafana/tempo:2.10.3
|
||||
restart: unless-stopped
|
||||
command: -config.file=/etc/tempo.yml
|
||||
volumes:
|
||||
- tempo-data:/var/tempo
|
||||
- ./observability/tempo/tempo.yml:/etc/tempo.yml:ro
|
||||
networks:
|
||||
- internal
|
||||
|
||||
alloy:
|
||||
image: grafana/alloy:v1.16.0
|
||||
restart: unless-stopped
|
||||
command:
|
||||
- run
|
||||
- --server.http.listen-addr=0.0.0.0:12345
|
||||
- --storage.path=/var/lib/alloy/data
|
||||
- /etc/alloy/config.alloy
|
||||
volumes:
|
||||
- alloy-data:/var/lib/alloy/data
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- ./observability/alloy/config.alloy:/etc/alloy/config.alloy:ro
|
||||
expose:
|
||||
- "4317"
|
||||
- "4318"
|
||||
- "12345"
|
||||
networks:
|
||||
- internal
|
||||
|
||||
volumes:
|
||||
grafana-data:
|
||||
prometheus-data:
|
||||
loki-data:
|
||||
tempo-data:
|
||||
alloy-data:
|
||||
|
||||
networks:
|
||||
internal:
|
||||
Reference in New Issue
Block a user