Add obs-grafana service (grafana/grafana-oss:11.6.1) to docker-compose.observability.yml. Datasources (Prometheus, Loki, Tempo) are auto-provisioned via infra/observability/grafana/provisioning/datasources/datasources.yml with cross-datasource linking (Loki traceId → Tempo, Tempo → Loki, service map via Prometheus). Three dashboards are pre-loaded: Node Exporter Full (1860), Spring Boot Observability (17175), Loki Logs (13639) — datasource template variables replaced with provisioned UIDs. GRAFANA_ADMIN_PASSWORD added to .env.example. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
39 lines
806 B
YAML
39 lines
806 B
YAML
apiVersion: 1
|
|
|
|
datasources:
|
|
- name: Prometheus
|
|
type: prometheus
|
|
uid: prometheus
|
|
url: http://obs-prometheus:9090
|
|
isDefault: true
|
|
editable: false
|
|
|
|
- name: Loki
|
|
type: loki
|
|
uid: loki
|
|
url: http://obs-loki:3100
|
|
editable: false
|
|
jsonData:
|
|
derivedFields:
|
|
- name: TraceID
|
|
matcherRegex: '"traceId":"(\w+)"'
|
|
url: "${__value.raw}"
|
|
datasourceUid: tempo
|
|
|
|
- name: Tempo
|
|
type: tempo
|
|
uid: tempo
|
|
url: http://obs-tempo:3200
|
|
editable: false
|
|
jsonData:
|
|
tracesToLogsV2:
|
|
datasourceUid: loki
|
|
spanStartTimeShift: "-1m"
|
|
spanEndTimeShift: "1m"
|
|
filterByTraceID: true
|
|
filterBySpanID: false
|
|
serviceMap:
|
|
datasourceUid: prometheus
|
|
nodeGraph:
|
|
enabled: true
|