monitoring: Wetter-Tagesberichte in Grafana auffindbar machen
- weather-report-history.json (ha-weather-report-history): Finder-Tabelle, eine Zeile pro Tag (Datum, Kurzbewertung, T min/max/Mittel, Regen, UV, Boee) mit Drilldown-Data-Link aufs Tagesbericht-Dashboard - weather-day-report.json: Zeitzone Europe/Berlin, Info-Panel zur Tagesauswahl, Nav-Dropdown zu den Wetter-Dashboards - monitoring/README: Abschnitt Wetter-Tagesberichte (finden, Datum waehlen, Quelle InfluxDB-SQL statt Markdown-Index, Deploy, Explore-Test) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -74,6 +74,56 @@ INFLUXDB_BIND_IP=192.168.178.58
|
||||
- Uptime Kuma ist entfernt; `Homelab / Availability`, Blackbox Exporter und Prometheus-Alerts sind der Zielzustand fuer HTTP-Verfuegbarkeit.
|
||||
- Dashboard-Zielbestand: `Homelab / Availability`, `Homelab / Containers + Logs`, `Homelab / Host Overview`, `Homelab / Family Status`, `Traefik Official Standalone Dashboard`.
|
||||
|
||||
## Wetter-Tagesberichte
|
||||
|
||||
Die Ecowitt-/HA-Wetterdaten (DB `homeassistant`, Datasource `ha-weather-influx`)
|
||||
werden in drei Grafana-Dashboards sichtbar (Ordner `Homelab`, Tag `weather`):
|
||||
|
||||
- `Wetterarchiv KalliHome` (`ha-weather-archive`): Verlaeufe und Gauges ueber einen Zeitbereich.
|
||||
- `Wetterbericht KalliHome` (`ha-weather-day-report`): ausfuehrlicher Tagesbericht (Markdown-Tabelle) fuer **einen** Tag.
|
||||
- `Wetter-Tagesberichte KalliHome` (`ha-weather-report-history`): Index/Finder, **eine Zeile pro Tag** mit Kurzbewertung, T min/max/Mittel, Regen, UV und Boee.
|
||||
|
||||
### Alte Tagesberichte finden und ein Datum waehlen
|
||||
|
||||
1. Dashboard **`Wetter-Tagesberichte`** oeffnen (Standard: letzte 30 Tage, Europe/Berlin).
|
||||
In der Tabelle **auf das Datum klicken** -> der ausfuehrliche Tagesbericht oeffnet
|
||||
sich fuer genau diesen Tag. Weiter zurueck: Zeitbereich oben rechts vergroessern.
|
||||
2. Alternativ im Dashboard **`Wetterbericht KalliHome`** direkt einen Tag waehlen:
|
||||
Zeitbereich oben rechts -> *Absolute time range* -> z. B. From `2026-06-15 00:00:00`,
|
||||
To `2026-06-16 00:00:00` -> **Apply**. Beide Dashboards haben Zeitzone
|
||||
`Europe/Berlin`, die Eingaben gelten also in Berliner Lokalzeit; Standard ist
|
||||
`gestern` (`now-1d/d` bis `now/d`).
|
||||
|
||||
Grafana hat **keine echte Datepicker-Variable**: eine Textbox-Variable kann den
|
||||
Zeitbereich nicht setzen, und ein `report_date`-Ansatz braeuchte zeitzonen-genaues
|
||||
Tages-Bounding in InfluxDB-3-SQL. Deshalb ist der **Timepicker bei Dashboard-Zeitzone
|
||||
`Europe/Berlin`** der exakte Weg fuer einen vollstaendigen Lokaltag, und die
|
||||
Index-Tabelle der bequeme Klick-Selektor fuer alte Tage. Die Tabellen-Buckets liegen
|
||||
auf UTC-Mitternacht (~01:00/02:00 Berlin); der verlinkte Tagesbericht zeigt das
|
||||
gewaehlte Fenster vollstaendig.
|
||||
|
||||
### Quelle: InfluxDB statt Markdown-Index
|
||||
|
||||
Die Dashboards rendern direkt per SQL aus InfluxDB 3 Core - gleiche Quelle wie der
|
||||
Markdown-Generator `services/posture-check/weather-day-report.py`. Damit ist jeder
|
||||
zurueckliegende Tag reproduzierbar, solange die Rohdaten vorgehalten werden; ein
|
||||
separater Markdown-Index ist bewusst nicht noetig. Die erzeugten Tagesberichte als
|
||||
Datei (E-Mail/Offline-Archiv) liegen weiterhin unter
|
||||
`/mnt/user/services/posture-check/daily-reports/homelab-day-YYYY-MM-DD.md`.
|
||||
|
||||
### Deploy und Test
|
||||
|
||||
Dashboards werden aus `monitoring/grafana/dashboards/` provisioniert (Verzeichnis-
|
||||
Mount, Reload alle 5 Minuten, Ordner `Homelab`). Nach Push nach Gitea deployt Komodo
|
||||
den `monitoring`-Stack; Grafana laedt die JSON-Dateien automatisch nach. Kein
|
||||
Bootstrap-Importer noetig (der gilt nur fuer grafana.com-Dashboard-ID 17346).
|
||||
|
||||
SQL der Index-Tabelle vor dem Verlassen einmal pruefen: Grafana -> *Explore* ->
|
||||
Datasource `ha-weather-influx` -> die `rawSql` aus `weather-report-history.json`
|
||||
einfuegen und einen Zeitbereich (z. B. letzte 7 Tage) waehlen. Erwartet: eine Zeile
|
||||
pro Tag mit gefuellten Spalten. Falls `extract(epoch FROM ...)` auf dem InfluxDB-3-
|
||||
Build nicht unterstuetzt wird, stattdessen `to_unixtime(...)` verwenden.
|
||||
|
||||
## Alerting
|
||||
|
||||
Prometheus wertet `monitoring/prometheus/alerts.yml` aus und sendet an `monitoring-alertmanager`.
|
||||
|
||||
Reference in New Issue
Block a user