A central Grafana + Loki stack (on beta) fed by a Grafana Alloy agent on every node, replacing the old SSH-tailed single-host scripts/dashboard.py. - docker-compose.yml: central Loki (mesh-only :3100) + Grafana (Caddy-fronted) - loki/config.yml: single-binary, filesystem storage, 30-day retention - alloy/config.alloy + docker-compose.agent.yml: per-node collector — every container's stdout/stderr via the Docker socket, Caddy host logs, and the app's structured JSON logs (errors/access/audit), each line tagged by node - grafana/: auto-provisioned Loki datasource + a fleet-logs dashboard (volume by service, error rate, upstream 429s, Caddy 5xx, notifier liveness, live tail), with a per-node selector - caddy-grafana.conf, README, .env.example
13 lines
406 B
YAML
13 lines
406 B
YAML
# Auto-provision the Loki datasource so Grafana comes up already wired to it —
|
|
# no click-ops. Loki runs in the same compose stack, reachable by service name.
|
|
apiVersion: 1
|
|
|
|
datasources:
|
|
- name: Loki
|
|
type: loki
|
|
access: proxy
|
|
url: http://loki:3100
|
|
uid: loki # stable UID so the provisioned dashboards can bind to it
|
|
isDefault: true
|
|
jsonData:
|
|
maxLines: 2000
|