Commit graph

4 commits

Author SHA1 Message Date
9de12534a5 Add App Activity & Delivery dashboard (#2)
Co-authored-by: Emi Griffith <emerytgriffith@gmail.com>
Co-committed-by: Emi Griffith <emerytgriffith@gmail.com>
2026-07-22 03:20:20 +00:00
147b1c51a5 Add Traffic & Domains dashboard (domain-grouped, visual) (#1)
Co-authored-by: Emi Griffith <emerytgriffith@gmail.com>
Co-committed-by: Emi Griffith <emerytgriffith@gmail.com>
2026-07-22 02:23:16 +00:00
6137a08c23 Dashboard: notifier liveness from the heartbeat log
Replace the grep-docker-logs notifier panel with a per-node UP/DOWN stat
driven by the app's new tag=heartbeat log line (count_over_time over 20m;
0 beats => DOWN/red). Update the README now that the app emits heartbeats.
2026-07-21 09:51:14 -07:00
46edb0bca0 Fleet log aggregation: Grafana + Loki + Alloy over the WireGuard mesh
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
2026-07-21 09:11:52 -07:00