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>
44 lines
982 B
YAML
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
|