back to projects
Observability
Observability stack
InfluxDB + Grafana split out of Home Assistant into their own containers, with bootstrap dashboards for cluster, battery and HA state.
InfluxDB 1.8Grafana 13Telegraf-freePVE metrics
- InfluxDB
- 1.8.10
- Grafana
- OSS 13
- Datasources
- 2
- Dashboards
- 4
At a glance
cpu34%
net124 mbps
ram58%
io22 mb/s
Out of HAOS
InfluxDB used to live as a Home Assistant add-on, which meant every HA restart took down metric collection for the whole cluster. It now runs as a standalone LXC on the EliteDesk mini, pinned to 1.8.10 via apt-mark hold so a stray upgrade can’t lose data, with its own users for the PVE metric server, HA, and a read-only Grafana account.
text
┌──────────────┐
│ pvestatd × 4 │ push interval: 30s
└──────┬───────┘
▼
┌───────────────┐
│ InfluxDB │ CT 113 · 192.168.1.118:8086
│ 1.8.10 (held)│ dbs: proxmox · homeassistant
└───┬───────┬───┘
│ │ read-only grafana_reader
▼ ▼
┌───────────────┐
│ Grafana 13 │ CT 117 · 192.168.1.139:3000
└───────────────┘ 4 dashboards, AU date formatsThe dashboards
- Proxmox cluster. Telmate 10048 with all four nodes wired in, the obvious choice for at-a-glance health.
- Battery health. Nine custom panels tracking the laptop node’s battery wear over time. Health % is the long-term degradation metric; alerts fire well before it matters.
- HA state changes. The Grafana 12705 community dashboard with template-variable dropdowns for domain, measurement and entity_id.
- HA overview. A custom 23-panel home dashboard with collapsible rows for climate, energy and the AGL tariff, smart-device batteries, air quality, Withings and BLE presence.
Provisioning
Datasources are set up via Grafana’s file provisioning so a rebuild brings them back identically, and the UI lock keeps them tamper-proof. The Grafana CT itself reads its InfluxDB password from pmxcfs via a tiny one-shot at start.
yaml
# /etc/grafana/provisioning/datasources/influxdb.yaml
apiVersion: 1
datasources:
- name: InfluxDB-Proxmox
type: influxdb
access: proxy
url: http://192.168.1.118:8086
database: proxmox
user: grafana_reader
secureJsonData:
password: ${GRAFANA_READER_PASSWORD}
editable: false
isDefault: true
- name: InfluxDB-HomeAssistant
type: influxdb
access: proxy
url: http://192.168.1.118:8086
database: homeassistant
user: grafana_reader
secureJsonData:
password: ${GRAFANA_READER_PASSWORD}
editable: false