From 6b034c53e24d093e2b048cd57553665ae1d44d97 Mon Sep 17 00:00:00 2001 From: orbitalo Date: Sun, 21 Jun 2026 18:05:07 +0000 Subject: [PATCH] infra(telegraf): README mit Architektur, Routing, Schema und Deploy --- infra/telegraf/README.md | 48 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 infra/telegraf/README.md diff --git a/infra/telegraf/README.md b/infra/telegraf/README.md new file mode 100644 index 000000000..519df7640 --- /dev/null +++ b/infra/telegraf/README.md @@ -0,0 +1,48 @@ +# Telegraf - Telemetrie-Ingestion (CT143 "Raspi-Broker") + +Versionierte Kopie der produktiven Telegraf-Konfiguration. **Laufort:** +`CT143` (pve-mu-3), Verzeichnis `/etc/telegraf/telegraf.d/`. + +Diese Dateien sind die *Quelle der Wahrheit* (Konfiguration zaehlt Git/Doku). +Wenn am Server geaendert wird: hier nachziehen + committen + pushen. + +## Architektur (Stand 21.06.2026) + +MQTT-Broker = dedizierter **mosquitto 2.0.21** auf CT143 `192.168.178.36:1883`. +Telegraf ist der **alleinige** MQTT->InfluxDB-Ingest (die alten Python-Bruecken +`mqtt-influx-bridge.py` / `mqtt-rewrite-holzvergaser.py` sind gestoppt + disabled). + +Zwei InfluxDB-Datenbanken: +- **`sensors`** - sauberes, aktives Schema (siehe `satellites.conf`). +- **`iobroker`** - eingefrorenes Archiv (Alt-Historie) + weiterhin openWB/PV (siehe `openwb.conf`). + +## Routing (wichtig, damit nichts doppelt landet) + +Beide Configs definieren je einen `outputs.influxdb`. Telegraf schickt jede Metrik +an *alle* Outputs, daher wird per name-Filter getrennt: + +- `satellites.conf` -> DB `sensors`, **namepass** = `temperature`, `io_state` +- `openwb.conf` -> DB `iobroker`, **namedrop** = `temperature`, `io_state` + +So schreibt der Satelliten-/Heizraum-Ingest ausschliesslich nach `sensors`, +und openWB/PV ausschliesslich nach `iobroker` - keine Dopplung. + +## Schema in DB `sensors` + +| Measurement | Tags | Wert | Quelle | +|---------------|-------------------------------|-------------|--------| +| `temperature` | `node` (Raum/heizraum), heizraum zus. `sensor`=ROM | float Grad C | `/temp`, `heizraum/` | +| `io_state` | `node`=heizraum, `signal` (pumpe1-4/brenner/kessel) | int 0/1 | `heizraum/io/+`, `heizraum/state/kessel` | + +Globaler Tag `host=Raspi-Broker` (Telegraf-Default). + +## Deploy / Wiederherstellung + +```bash +# auf CT143 (pve-mu-3): +pct push 143 satellites.conf /etc/telegraf/telegraf.d/satellites.conf +pct push 143 openwb.conf /etc/telegraf/telegraf.d/openwb.conf +pct exec 143 -- systemctl restart telegraf +# Verifikation: +pct exec 143 -- influx -database sensors -execute 'SHOW MEASUREMENTS' +```