Neues Modul: Performance Monitor

Begonnen von herrmannj, 10 November 2013, 12:49:13

Vorheriges Thema - Nächstes Thema

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Puschel74

Hallo,

wenn du schon einen RasPi verwendest dann stell doch um auf DBLog.
Diese dann auf eine externe Festplatte auslagern - was auch der SD-Karte zugute kommt - und du hast "Jahrzente"-Logs.

Performaceeinbussen? Wird es sicher geben wenn du 5 Jahre zurück scrollst.
Aber sonst - nicht das ich wüsste.
Ok. Ich weiß fast nichts daher sind meine Meinungen auch mit Vorsicht zu genießen.

Der Performance Monitor läuft bei mir "nebenher" mit.
Ich hab zur Zeit andere Baustellen die mich (oder auch fhem) aufhalten als ein notify.

Hat mit diesem genial Tool aber nichts zu tun.
Die Performance-Werte gehe ich später mal an.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

fhainz

Bei mir ruckelt leider alles, seitenaufbau dauert ewig und ich hab seitenlange freezes. Warum auch immer.
Dblog ist eine gute idee. Wird ja sicherlich weitaus performater sein als der filelog oder?

hexenmeister

Hallo Jörg,

danke für die Erklärung, mir war nicht bewusst gewesen, dass ein 'richtiges' Device wesentlich mehr Ressourcen verbraten würde. Wenn der aktuelle Mehrbelastung unwesentlich ist, braucht man natürlich keine Erweiterung. AUf meinem Pi hat sich loadavg nicht messbar verändert  :)

LG,

Alexander
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

hexenmeister

Hallo Puschel74,

ich habe mit DBLog mal rumversucht. Dabei wird man die meisten Plot doch verändern müssen. Auch die Systembelastung stieg sehr deutlich an. Da gefallen mir die Logs besser. Oder habe ich etwas übersehen bzw. falsch gemacht?

Grüße,

Alexander
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Puschel74

#20
Hallo,

ob DBLog performanter ist kann ich nicht sagen weil - keine Ahnung.

Aber
@fhainz
Wenn bei dir alles ruckelt und der Seitenaufbau ewig dauert hast du sicher ein anderes Problem.
Speck mal deine fhem.cfg auf das absolut nötigste ab und mach dann, wenn die Probleme immer noch bestehen, im RasPi-Unterforum einen neuen thread auf.
Für sowas hab ich immer einen Reserve-Pi aka "Spiel-Pi"  ;)

@hexenmeister
Ich kann an meinem RasPi nicht wirklich eine Verschlechterung der Performance erkennen - aber das sagt ja nichts. Siehe oben - keine Ahnung.
Mein Main_RasPi macht nur FHEM und sammelt die Daten von 2 anderen RasPi um sie mir
a) in DBLog zu loggen und
b) daraus zu plotten.
DBLog hat eben den Vorteil das man Plots aus allen möglichen Einträgen ohne viel Aufwand erstellen kann.

z.B. siehe Screenshot.
Vorlauf und Rücklauftemperatur meiner Heizung sind an meinem I2C_RasPi 2 I2C-Sensoren die per FHEM2FHEM in die Datenbank geloggt werden.
Die Wasserpumpe ist ein FS20-Aktor.
Alle drei "Devices" müssten für einen Plot aus Filelog in ein Logfile schreiben.
Das erspar ich mir da ich DBLog verwende.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

herrmannj

zum db log kann habe ich keine praktischen Erfahrungen. Beim filelog habe ich festgestellt das der Einfluss der Gesamtgröße des logs (also täglich, monatlich wöchentlich ...) im Verhältnis zur Dichte und zum Aufbau der Daten gering ist.

Mit anderen Worten:

tägliches log mit hoher Datendichte (zB 1min) -> plot in der Tagesübersicht -> verhältnismäßig langsam.
monatliches log mit mäßiger Datendichte (zB 10min) -> plot in der Tagesübersicht -> im Verhältnis viel schneller (obwohl das monatslog insgesamt deutlich größer ist).

Irgendwann wir das log natürlich trotzdem so groß das die Anzeige scheinbar alleine Aufgrund der totalen Datenmenge etwas bremst.

Gute Erfahrungen bzgl des plot/log tunings habe ich mit folgenden Punkten erzielt:

*  regex so aufbauen das keine doppelten Einträge entstehen  (bsp Temp, im state und nachmal als measured-temp etc.)
*  min-interval und Konsorten nutzen damit eben nur alle 10min (oder was auch immer) ein Eintrag erzeugt wird.
*  Abkürzungen im log (also anstelle von "measured-temp:20" nur "t:20")

Damit wird das filelog wirklich erstaunlich performant.

vg
Jörg

fhainz

Alles klar, danke.
Ich werd das erstmal mit dem FileLog Tunig versuchen. Wenn das nichts bringt versucht in den DBLog.

hexenmeister

Hallo!

@Puschel74
Verschlechterung ist zu viel gesagt, ich habe nur gemerkt, dass loadavg von ca. 0,05-0,1 auf 0,8-1,2 gestiegen ist. Damit war die CPU noch nicht völlig überlastet, aber schon sehr nah an der Grenze.
Sonst läuft bei mir auf dem Pi auch nicht viel.

Gruß,

Alexander
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Puschel74

Hallo,

ich hab ja keine Ahnung davon aber ... (ich hatte vorerst FileLog verwendet da default in fhem und hab aber vor knapp 7 Monaten auf DBLog umgestellt).
Grund für mich war:
FileLog loggt in eine eigene Datei pro Device - ist erstmal ok aber ...

du kommst nach 3 Monaten drauf das Device a und Device b in einem Plot besser passen würden.
Das geht mit Filolog definitiv - für den Moment ab dem beide Geräte in ein Logfile schreiben.
Für die Vergangenheit? njet - keine Chance es sei den du kopierst die Daten händisch zusammen.

Bei DBLog - kein Problem.
Alle Geräte schreiben in ein "logfile".
Du willst in 2 Jahren die Daten von der Aussentemperatur und der Innentemperatur im Wohnzimmer in einem Plot haben?
Kein Problem.
Ein Gplot-File zusammen bauen das beide Temperaturen abfrägt und anzeigt.
Und das zurück bis zu dem Zeitpunkt als du DBLog passend definiert hast.

FileLog ist ok und hat durchaus seine Daseinsberechtigung.
Aber es schreibt per se (um kompatibel zu sein) nach ./log und das ist am RasPi die SD-Karte.
Diese Karten sind aber nicht "über"lebensfähig.
Schreib-Lesezugriffe machen denen ganz schön zu schaffen.

Also zumindest ein USB-Stick wäre anzuraten um darauf die Logfiles zu speichern (auch das fhem-LogFile da fhem mitunter recht "gesprächig" sein kann).
Ich werf alles! per DBLog in eine Datenbank auf einer USB-HDD am RasPi.
Wenn ich in 2 Jahren auf die Idee komme den Verlauf der Kellertemperatur gegen die Aussentemperatur und der Ventilstellung am Wohnzimmerheizkörper in einem Plot darstellen zu wollen kann ich das machen - und noch 2! Jahre in die Vergangenheit scrollen.
Klar kann man drüber streiten ob das sinvoll ist aber mit Logfile geht das nicht (es sei den ich erstell heute eine Logfile in das ich alles loggen lasse).
Dann kann ich aber auch die Logfiles in der fhem.cfg löschen und DBLog definieren.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

hexenmeister

Danke für die ausführliche Erklärung, die Vorteile sind mir schon klar.
Die Logs müsste man auch auf einen Stick oder HDD verlegen können (per symlink).
Ich bin nicht auf Anhieb mit dem Plots mit DBLog klar gekommen, es würde zumindest viel Aufwand bedeuten, alle meine Plots umzustellen. Vielleicht widme ich mich dem nochmal später.

VG

Alexander
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Puschel74

Hallo,

es würde zumindest viel Aufwand bedeuten

Nö.
Der "Aufwand" bestünde darin einen USB-Stick oder eine USB-HDD am RasPi einzubinden und DBLog zu definieren das fortan alles in die Datenbank schreibt.
Einen Umstieg von FileLog-Plot auf DBLog-Plot kann man ja später peu a peu machen.
Die Daten sind ja schon vorhanden  8)

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

hexenmeister

Hallo,

die DBLog Definition habe ich schon hinbekommen. Es lief sogar mehrere Wochen parallel mit. Wie gesagt, Systemauslastung hat mir nicht zugesagt. MySQL hat recht viel für sich beansprucht.

Grüße,

Alexander

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Puschel74

Hallo,

ZitatMySQL hat recht viel für sich beansprucht.

Dazu kann ich nichts sagen da ich sqlite3 verwende.
Die Installation dafür auf einem RasPi findest du im Wiki unter Charting_Frontend.
Den Teil für den RasPi hab ausnahmsweise mal ich beigesteuert.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

hexenmeister

Hi!

Danke, vielleicht ist das genau die Idee, ich werde mal SQLite ausprobieren. Möglicherweise ist MySQL einfach zu schwerfällig für Rasp. Interessant wäre spezielle DB für Zeitdaten (time-series database) wie 'Timestore' auszuprobieren. Werde ich mal im Netzt suchen, ob das geht.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy