Homelab / Observability

Observability

Public-safe fleet pulse — aggregate numbers and sparklines without hostnames, IPs, or admin UIs.

Lab Pulse
— Incident-free

Status

Trends

Posture

scrubbed — no hostnames

Observability belongs to the platform from day one — metrics, logs, alerts, and host audit. What is public here are scrubbed aggregates: how many edge probes are green, average fleet load, how fresh backups and app pins are. No hostnames, no IPs, no inventory list.

Pipeline

The same Prometheus aggregates feed internal monitoring and the Lab Pulse above. History is built server-side from the push interval (about every 5 minutes) and feeds the sparklines — without labels and without reachability hints.

Internal vs public

Discarded

  • Hostnames and FQDNs (*.lan)
  • IPs, VMIDs, node placement
  • Dashboard inventory and admin UIs
  • Which edges are down

Kept

  • Probes up/total, hosts online
  • Fleet CPU/RAM/network (aggregates)
  • Apps current/tracked, backup coverage %
  • Alerts firing (count), edge latency p95

Signal routing

Alerts and aggregates fan out internally — the public site only shows the scrubbed pulse.

Channel Role
Wallboard Pixoo64 in the lab — synthetic preview here only
Mail digest Daily summary / incident mail
Local LLM analysis Multi-pass on Ollama — hypotheses, no blind apply
Change ticket App behind upstream → service desk with runbook

More: Ops AI showcases. Architecture: Architecture.

Pixoo64 NOC wallboard (synthetic preview)

What is deliberately missing

  • No embed of the internal Grafana UI (OIDC, hostnames, dashboard inventory)
  • No screenshots of admin surfaces
  • No statement of which edges are down — only aggregates

Apply, snapshots, and runbooks stay internal.