Was using \\" (double backslash) but YAML literal blocks only need \"
to produce a backslash-quote in the output.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The logfmt stage tries to parse all logs, including JSON. When it fails,
it adds __error__ labels. Drop these labels since the logs are still
processed correctly (JSON parser already extracted fields).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Zot uses "message" instead of "msg" for the message field. Also extract
caller and repository from JSON logs for better filtering.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The JSON parser only works for JSON-formatted logs. Many Go services
(Loki, Prometheus, etc.) use logfmt format. Add logfmt parser to extract
level, caller, and component labels for better log filtering in Grafana.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add powermetrics collector to Alloy role (via LaunchDaemon, requires root)
- Collect CPU, GPU, ANE power (watts) and thermal pressure level
- Add "Power & Thermal" section to macOS Grafana dashboard with:
- Total power stat
- Thermal pressure indicator (Nominal/Moderate/Heavy/Critical)
- Stacked power consumption graph (CPU/GPU/ANE)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The thermal collector fails on macOS M1 with "no CPU power status has
been recorded" - this hardware doesn't expose power metrics in a way
the collector understands.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Minikube's storage-provisioner uses the deprecated v1 Endpoints API which
spams warnings every 2 seconds on K8s 1.33+. This is an upstream issue
(kubernetes/minikube#21009) with no fix yet.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>