Seite 1 von 1
influxdb wächst zu schnell
Verfasst: 4. Feb 2024 19:44
von McMaster05
Hallo,
ich nutze Influxdb V2 um die Daten, die Openhab 4.1.1 sammelt, zu speichern.
Jetzt habe ich festgestellt, dass der Platzbedarf der DB rapide wächst, es sind jetzt schon 38GB nach 3 Monaten.
Ich habe ca. 10 Temperatur/Luftfeuchtigkeitssensoren, greife Daten vom Smartmeter ab, messe das Balkonkraftwerk und habe ein paar Schalter.
Manche Werte möchte ich auch gerne weiterhin recht detailiert speichern, aber z.B. interessiert es mich wenig, wann ein Lichtschalter vor einem Monat gedrückt wurde.
Kann ich irgendwie detailierter bestimmen, welche Werte in der InfluxDB dauerhaft gespeichert werden sollen und welche nur kurzfristig, oder z.B. welche ganz gelöscht werden können oder bei welchen ich die Auflösung verringern möchte, ähnlich wie das die RRD4J macht? Oder kann ich manche Werte weiterhin in der RRD4J speichern und nur die, die ich auf Dauer hochaufgelöst behalten möchte in der Influx?
Re: influxdb wächst zu schnell
Verfasst: 4. Feb 2024 22:55
von udo1toni
Du kannst für jedes Item einzeln entscheiden, ob es persistiert wird.
Diese Entscheidung kannst Du auch über die direkte Gruppenzugehörigkeit steuern (also z.B. falls Du eine Gruppe mit allen Temperatursensoren hast, kannst Du bestimmen, dass die Member dieser Gruppe persistiert werden sollen).
Weiterhin kannst Du jeweils einzeln entscheiden, ob jedes Update, nur Werteänderungen oder gar nur zu bestimmten Zeitpunkten persistiert werden soll.
All diese Entscheidungen kannst Du außerdem für jeden Persistence Service einzeln treffen.
Und nun kommt das Wichtigste: Wenn Du diese Entscheidungen nicht triffst, wird jedes Item in jedem installierten Persistence Service mit der Strategy everyChange, everyMinute persistiert (kann sogar sein, dass es everyUpdate ist, da bin ich mir nicht sicher)
Die entsprechende Konfiguration findest Du ab openHAB4.1 unter Einstellungen -> Add-On Settings (also die rechte Spalte bei der Desktopansicht), dort der betreffende Persistence Service -> Persistence Configuration.
Im Bereich Configuration entscheidest Du über die zu persistierenden Items und welches Strategies verwendet werden sollen.
Achtung! Der Stern * ist KEIN Joker (außer er steht alleine, dann steht er für alle Items, das möchtest Du nicht).
Stattdessen kennzeichnet man Group Items hinten mit einem Sternchen, also z.B. die Gruppe gAlleTemperaturen wird in der Persistence als gAlleTemperaturen* angegeben. Das bedeutet dann: Persistiere STATT des Items selbst ausschließlich dessen unmittelbare Member mit den angegebenen Strategies.
In openHAB4.0 findet man die entsprechende Option über den Addon Store, und dort über das betreffende Addon (rechts neben REMOVE ein winzig kleines Zahnrad...)
Vor openHAB4 war die Zuordnung ausschließlich über Textdateien möglich ($OPNEHAB_CONF/persistence/<addon-name>.persist).
Vor openHAB3 wurden nur die Items persistiert, die auch über die Textdatei dafür konfiguriert wurden, mit openHAB3 wurde dieses Verhalten geändert, mutmaßlich, um den Leuten den Einstieg zu erleichtern (ob das tatsächlich geholfen hat...?)
So, aber noch mal zurück zu der Menge an Daten... Bei mir werden alle Items mit everyChange persistiert. Das System läuft schon etwas, ich habe z.B. den Verbrauchsverlauf meines Stromzählers für das letzte Jahr (die Messwerte kommen sekündlich rein...) und viele andere Messwerte kommen bei jeder Änderung rein, meine Datenbank ist gerade mal etwas über 3,1 GByte groß. Ich habe 1457 Items in meinem System, nur so zur Orientierung. Die 38 GByte in drei Monaten erscheinen mir extrem unwahrscheinlich, eventuell ist da also etwas grundsätzlich nicht in Ordnung.
Re: influxdb wächst zu schnell
Verfasst: 6. Feb 2024 18:08
von McMaster05
Vielen Dank für die ausführliche Antwort.
Wow, ich musste irgendwie lange suchen, um den blauen Link "Persistence configuration" als solchen wahrzunehmen, irgendwie dachte ich das ist eine Überschrift, die man gar nicht klicken kann...
Aber ich habe diese Einstellungen jetzt mal vorgenommen und werde schauen, ob es jetzt weniger schnell wächst. Deine Antwort hat mir auf jeden Fall schon mal sehr geholfen, das besser zu verstehn.
Ich hatte tatsächlich unter den Strategies nicht nur die Default Strategy "everyChange" sondern wohl zusätzlich noch "everyMinute 0**?**", "everyHour 00***?" und "everyDay 000**?". Die habe ich jetzt mal entfernt und in der Configuration nur einzelne Items selektiert.
Re: influxdb wächst zu schnell
Verfasst: 7. Feb 2024 21:02
von McMaster05
Nun habe ich angefangen, einzelne Measurements nacheinander aus der InfluxDB zu löschen, aber die Dateigröße (du -sh /var/lib/influxdb
) ist nicht weniger geworden.
Dann bin ich auf die Idee gekommen, die Größe pro Bucket auszulesen. Das geht über
und dann
Dadurch habe ich festgestellt, dass es gar nicht mein openhab-bucket war, der so stark gewachsen ist, sondern der initalbucket. Seltsam, da ich in dem über den Data Explorer auch gar keine Measurements gefunden habe. Aber nun habe ich diesen Bucket gelöscht, jetzt ist die Dateigröße erträglich.
Re: influxdb wächst zu schnell
Verfasst: 7. Feb 2024 21:15
von udo1toni
Vermutlich ist da einfach etwas intern durcheinander geraten...