Files
selfheal-lab-gitops/vm/observability/compose.yaml
T
seon d2c7ddf242 feat: add LGTM compose for the observability VM
WP-10(Terraform 설계서 6.10, 실험·앱 설계서 4.1). Mimir 3.2.1(monolithic, GCS
prefix blocks/ruler/alertmanager), Loki 3.7.8(tsdb v13, GCS), Tempo 3.0.3(OTLP
4317/4318, GCS), Grafana 13.2.2(데이터소스 Mimir·Loki·Tempo 프로비저닝). 오브젝트
스토리지는 VM SA의 ADC로 인증(키 파일 없음). Grafana 관리자 비밀번호는 Secret Manager
selfheal-grafana-admin에서 실행 시 취득. 알림 규칙 8건은 WP-14에서 추가.
2026-09-24 01:18:33 +09:00

56 lines
1.5 KiB
YAML

# Observability VM (10.20.0.10): Mimir 9009, Loki 3100, Tempo 3200 (OTLP 4317/4318), Grafana 3000.
# Object storage: the three GCS buckets, authenticated through the VM service account (no key files).
services:
mimir:
image: grafana/mimir:3.2.1
container_name: mimir
restart: always
command: ["-config.file=/etc/mimir.yaml"]
volumes:
- ./mimir.yaml:/etc/mimir.yaml:ro
- mimir-data:/data
ports:
- "9009:9009"
loki:
image: grafana/loki:3.7.8
container_name: loki
restart: always
command: ["-config.file=/etc/loki.yaml"]
volumes:
- ./loki.yaml:/etc/loki.yaml:ro
- loki-data:/loki
ports:
- "3100:3100"
tempo:
image: grafana/tempo:3.0.3
container_name: tempo
restart: always
command: ["-config.file=/etc/tempo.yaml"]
volumes:
- ./tempo.yaml:/etc/tempo.yaml:ro
- tempo-data:/var/tempo
ports:
- "3200:3200"
- "4317:4317"
- "4318:4318"
grafana:
image: grafana/grafana:13.2.2
container_name: grafana
restart: always
environment:
GF_SECURITY_ADMIN_USER: admin
GF_SECURITY_ADMIN_PASSWORD: "${GF_SECURITY_ADMIN_PASSWORD}"
GF_SERVER_ROOT_URL: http://10.20.0.10:3000
GF_ANALYTICS_REPORTING_ENABLED: "false"
volumes:
- ./grafana/provisioning:/etc/grafana/provisioning:ro
- grafana-data:/var/lib/grafana
ports:
- "3000:3000"
depends_on: [mimir, loki, tempo]
volumes:
mimir-data: {}
loki-data: {}
tempo-data: {}
grafana-data: {}