blumeops/argocd/manifests/grafana-config/dashboards
Erich Blume 85e36cd807 Operations and observability for sifaka NAS (#135)
## Summary
- Add `smartctl_exporter` Docker container to sifaka for SMART disk health monitoring
- Formalize existing `node_exporter` container under Ansible management
- Route both exporters through Caddy L4 TCP proxy (`nas.ops.eblu.me:9100`, `nas.ops.eblu.me:9633`), replacing the hardcoded LAN IP in Prometheus
- Create "Sifaka Disk Health" Grafana dashboard (health status, temperature, wear indicators, lifetime)
- Introduce `ansible/playbooks/sifaka.yml` and `mise run provision-sifaka` — first Ansible playbook for the NAS
- Shared exporter port variables in `group_vars/all.yml` to avoid duplication between Caddy and sifaka roles

## Prerequisites before deploy
- [ ] Enable SSH on sifaka (DSM Control Panel > Terminal & SNMP)
- [ ] Verify `ssh eblume@sifaka 'docker ps'` works
- [ ] Run `mise run provision-sifaka` to deploy containers
- [ ] Run `mise run provision-indri -- --tags caddy` to add L4 routes
- [ ] `argocd app sync prometheus` + `argocd app sync grafana-config`

## Test plan
- [ ] Verify smartctl_exporter metrics: `curl http://nas.ops.eblu.me:9633/metrics`
- [ ] Verify Prometheus targets page shows both sifaka jobs as UP
- [ ] Verify Grafana "Sifaka Disk Health" dashboard loads with data

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/135
2026-02-09 17:44:05 -08:00
..
configmap-borgmatic.yaml K8s Migration Phase 2: Grafana to Kubernetes (#30) 2026-01-19 14:40:25 -08:00
configmap-devpi.yaml Log filtering cleanup and observability improvements (#45) 2026-01-22 17:30:08 -08:00
configmap-docs-apm.yaml Log real client IPs via Fly-Client-IP header (#130) 2026-02-09 11:02:06 -08:00
configmap-flyio.yaml Add Fly.io proxy observability via embedded Alloy (#123) 2026-02-08 10:05:38 -08:00
configmap-jellyfin.yaml Add Jellyfin media server deployment (#77) 2026-01-30 16:57:26 -08:00
configmap-loki.yaml K8s Migration Phase 2: Grafana to Kubernetes (#30) 2026-01-19 14:40:25 -08:00
configmap-macos.yaml Log filtering cleanup and observability improvements (#45) 2026-01-22 17:30:08 -08:00
configmap-minikube.yaml Add pod state observability to minikube dashboard (#83) 2026-02-03 07:20:05 -08:00
configmap-postgresql.yaml Fix XID Age graph to show threshold context (#69) 2026-01-29 07:08:21 -08:00
configmap-services.yaml Observability cleanup and k8s service monitoring (#43) (#43) 2026-01-22 13:51:01 -08:00
configmap-sifaka-disks.yaml Operations and observability for sifaka NAS (#135) 2026-02-09 17:44:05 -08:00
configmap-teslamate-battery-health.yaml Add 'Tesla' prefix to all TeslaMate dashboard titles (#68) 2026-01-29 06:55:44 -08:00
configmap-teslamate-charge-level.yaml Add 'Tesla' prefix to all TeslaMate dashboard titles (#68) 2026-01-29 06:55:44 -08:00
configmap-teslamate-charges.yaml Add 'Tesla' prefix to all TeslaMate dashboard titles (#68) 2026-01-29 06:55:44 -08:00
configmap-teslamate-charging-stats.yaml Add 'Tesla' prefix to all TeslaMate dashboard titles (#68) 2026-01-29 06:55:44 -08:00
configmap-teslamate-drive-stats.yaml Add 'Tesla' prefix to all TeslaMate dashboard titles (#68) 2026-01-29 06:55:44 -08:00
configmap-teslamate-drives.yaml Add 'Tesla' prefix to all TeslaMate dashboard titles (#68) 2026-01-29 06:55:44 -08:00
configmap-teslamate-efficiency.yaml Add 'Tesla' prefix to all TeslaMate dashboard titles (#68) 2026-01-29 06:55:44 -08:00
configmap-teslamate-locations.yaml Add 'Tesla' prefix to all TeslaMate dashboard titles (#68) 2026-01-29 06:55:44 -08:00
configmap-teslamate-mileage.yaml Add 'Tesla' prefix to all TeslaMate dashboard titles (#68) 2026-01-29 06:55:44 -08:00
configmap-teslamate-overview.yaml Add 'Tesla' prefix to all TeslaMate dashboard titles (#68) 2026-01-29 06:55:44 -08:00
configmap-teslamate-projected-range.yaml Add 'Tesla' prefix to all TeslaMate dashboard titles (#68) 2026-01-29 06:55:44 -08:00
configmap-teslamate-states.yaml Add 'Tesla' prefix to all TeslaMate dashboard titles (#68) 2026-01-29 06:55:44 -08:00
configmap-teslamate-statistics.yaml Add 'Tesla' prefix to all TeslaMate dashboard titles (#68) 2026-01-29 06:55:44 -08:00
configmap-teslamate-timeline.yaml Add 'Tesla' prefix to all TeslaMate dashboard titles (#68) 2026-01-29 06:55:44 -08:00
configmap-teslamate-trip.yaml Add 'Tesla' prefix to all TeslaMate dashboard titles (#68) 2026-01-29 06:55:44 -08:00
configmap-teslamate-updates.yaml Add 'Tesla' prefix to all TeslaMate dashboard titles (#68) 2026-01-29 06:55:44 -08:00
configmap-teslamate-vampire-drain.yaml Add 'Tesla' prefix to all TeslaMate dashboard titles (#68) 2026-01-29 06:55:44 -08:00
configmap-teslamate-visited.yaml Add 'Tesla' prefix to all TeslaMate dashboard titles (#68) 2026-01-29 06:55:44 -08:00
configmap-zot.yaml K8s Migration Phase 2: Grafana to Kubernetes (#30) 2026-01-19 14:40:25 -08:00