Files
stack/infra/grafana/provisioning/datasources/datasources.yml
kert dd4b5c0a80 fix(observability): live bring-up corrections
Surfaced when bringing the stack up alongside corwins.media:

- Promtail: filter docker_sd to compose project=stack. Both stacks share
  the host's docker.sock; without this, every promtail=true container
  from corwins.media also gets ingested into our Loki.
- Container name conflict: corwins.media also defines a "nvidia-exporter"
  container; rename ours to "stack-nvidia-exporter". Service-name DNS
  ("nvidia-exporter:9400") still resolves on the observability network
  so the Prometheus scrape target is unchanged.
- Grafana datasources: provisioning is additive; add deleteDatasources
  block so the legacy Jaeger datasource is removed from the DB.
- Trino prometheus target: /metrics requires auth (Trino rejects
  unauthenticated scrapes). Drop the target until the openmetrics
  catalog is wired with a shared secret. Loki still captures the
  query lifecycle for the data-lake dashboard.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 12:01:21 -04:00

44 lines
982 B
YAML

apiVersion: 1
# Provisioning is additive — datasources removed from this file remain
# in the Grafana DB until explicitly deleted here.
deleteDatasources:
- name: Jaeger
orgId: 1
datasources:
- name: Loki
type: loki
access: proxy
url: http://loki:3100
uid: loki
isDefault: true
jsonData:
maxLines: 1000
- name: Prometheus
type: prometheus
access: proxy
url: http://prometheus:9090
uid: prometheus
jsonData:
httpMethod: POST
- name: Tempo
type: tempo
access: proxy
url: http://tempo:3200
uid: tempo
jsonData:
tracesToLogsV2:
datasourceUid: loki
filterByTraceID: true
# Map span resource attributes to Loki stream labels so a
# span click yields {container="<service>"} | traceID="<id>"
# instead of an unindexed scan.
tags:
- key: service.name
value: container
serviceMap:
datasourceUid: prometheus