Ein Modul zur Erfassen von diversen RPi/Linux-Statistiken (SYSMON)

Begonnen von hexenmeister, 06 Dezember 2013, 17:44:38

Vorheriges Thema - Nächstes Thema

hexenmeister

Hi!

Jetzt gibt es vier neue Plots für die Verwendung mit DBLog (Vielen Dank an Puschel74 !)

https://github.com/hexenmeister/MyFHEM/blob/master/www/gplot/SMAllDB.gplot
https://github.com/hexenmeister/MyFHEM/blob/master/www/gplot/SMCPUFreqDB.gplot
https://github.com/hexenmeister/MyFHEM/blob/master/www/gplot/SMCPUTempDB.gplot
https://github.com/hexenmeister/MyFHEM/blob/master/www/gplot/SMLoadDB.gplot

Exemplarisch die Definition für Load:

define wl_sysmon_load SVG myDbLog:SMLoadDB:CURRENT
attr wl_sysmon_load label "Load Min: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
attr wl_sysmon_load plotfunction sysmon
attr wl_sysmon_load room RaspberryPi


Grüße,

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

Olly

Hi,

muss man für die DBlog's noch was zusätzlich einrichten? (MySQL oder so) Oder wird die entsprechende Datenbank einfach so erzeugt?

Gruß

      Olly

Gesendet von meinem LT26w mit Tapatalk

BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2

hexenmeister

Hi!
Ja, eine Datenbank brauchst du schon
MySQL, Sqlite, PostgreSql...
Dann eine dblog-Instanz.

Auf meinem Rasp hat MySql recht hohe last verursacht. Also wohl besser mit sqlite probieren.

Gruß

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

Puschel74

#33
Hallo,

vielleicht noch eine kurze Erläuterung zum exemplarischen Define.

define wl_sysmon_load SVG myDbLog:SMLoadDB:CURRENT
attr wl_sysmon_load label "Load Min: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
attr wl_sysmon_load plotfunction sysmon
attr wl_sysmon_load room RaspberryPi


wl_sysmon_load = Name der frei vergeben werden kann - die attr-Zeilen müssen dann nur entsprechend mit umbenant werden.
myDbLog = Name meiner Datenbankdefinition in FHEM - dringend an Euer System anpassen!
SMLoadDB = Name der zugehöreigen SMLoadDB.gplot (nur ohne das .gplot am Schluss).
plotfunktion sysmon = Name der Sysmon-Definition - muss kontrolliert werden ob bei Euch sysmon auch so defineirt wurde.
room RaspberryPi = Name des Raums - room ist ein Schlüsselwort und muss room bleiben aber RaspberryPi kann frei vergeben werden.

@Olly - und alle anderen die sqlite3 auf dem RasPi installieren wollen.
Im Wiki unter Chartig-Frontend gibt es eine Beschreibung wie sqlite3 auf dem RasPi eingerichtet werden kann.

Grüße

Edith: Noch was vergessen!
Wer DBLog verwendet und seine Plots aus der Datenbank aufbaut sollte(oder besser MUSS!) die Finger vom eingebauten GPlot-Editor lassen.
Dieser ist mWn noch nicht! DBLog-kompatibel
Bitte berichtigen wenn ich falsch liege und hier was verpasst habe.
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.

Olly

Hi,

ich glaub das mir der Datenbank lasse ich erst mal sein. Momentan sehe ich da nur für den Sysmon alleine noch nicht die Notwendigkeit.

Gruß

      Olly


Gesendet von meinem LT26w mit Tapatalk

BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2

Puschel74

Hallo,

ZitatMomentan sehe ich da nur für den Sysmon alleine noch nicht die Notwendigkeit.
Das stimmt allerdings.
Für ein "Device" alleine ist eine DB etwas "oversized".

Aber nur mal als Beispiel (und vielleicht als Denkanstoss  8) ).

In die Datenbank loggen bei mir 3 Geräte (eigentlich alle aber das ist für den Screenshot nicht relevant).
Diese 3 Geräte würden mir als FileLog in 3 unterschiedliche Logfiles loggen.
Klar kann ich hergehen und diese 3 Geräte auch in 1 Logfile loggen lassen damit dann sowas wie im Screenshot möglich wird (für sowas müssen die 3 Geräte übringens zwingend in ein Logfile loggen).
Mit FileLog kann ich diesen Plot dann erst erstellen wenn dieses eine Logfile definiert wurde und die ersten Daten hinein geschrieben werden.
Für die Vergangenheit - also noch mit 3 einzelnen Logfiles - zeigt mir dieser Plot nichts an.

Anders bei einer Datenbank.
Sobald diese definiert wurde loggen alle dafür vorgesehenen Geräte hinein.
Im Prinzip ist das nichts anderes wie ein LogFile für alle Geräte.
Wenn ich nun in 4 Monaten auf die Idee komme ich möchte gerne die Aussentemperatur und die Wohnzimmertemperatur mit der Wasspumpe zusammen in einem Plot haben ist dieser Plot auch für die vergangenen 4 Monate bereits gefüllt - da die Daten ja bereits vorliegen.

Ich habe mich aus diesem grund für DBLog entschieden.
Ich weiß ja heute noch nicht was ich morgen plotten möchte.

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!

ZitatMomentan sehe ich da nur für den Sysmon alleine noch nicht die Notwendigkeit.   

Die Notwendigkeit gibt es natürlich keine. Man kann alles auch mit FileLog machen. Für SYSMON gibt es dazu auch fertige Plots.
DbLog hat sicher Vorteile. Ist jedoch etwas schwerer einzurichten und zu pflegen.
Macht man ein Fehler, sind evtl. Daten weg. Und zwar alle. Grundkenntnisse in Umgang mit Datenbanken sind von Vorteil.  ;)

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

fhainz

Hallo!

Hab das Modul gerade problemlos eingerichtet, Funktioniert super!

Leider wird das Wlan bei mir nicht mitgeloggt. Nachdem ich kein ethernet am pi dran habe würd ich das schon gerne darstellen lassten.

Hier mal mein Log.
2013-12-14_16:27:30 sysmon cpu_temp_avg: 48.7
2013-12-14_16:27:30 sysmon cpu_temp: 48.69
2013-12-14_16:27:30 sysmon loadavg: 0.64 0.52 0.41
2013-12-14_16:27:30 sysmon ram: Total: 437 MB, Used: 54 MB, 12.36 %, Free: 383 MB
2013-12-14_16:28:33 sysmon cpu_freq: 950
2013-12-14_16:28:33 sysmon eth0_diff: RX: 0.00 MB, TX: 0.00 MB, Total: 0.00 MB
2013-12-14_16:28:33 sysmon cpu_temp_avg: 48.7
2013-12-14_16:28:33 sysmon cpu_temp: 48.69
2013-12-14_16:28:33 sysmon loadavg: 0.41 0.47 0.40
2013-12-14_16:28:33 sysmon ram: Total: 437 MB, Used: 54 MB, 12.36 %, Free: 383 MB
2013-12-14_16:29:33 sysmon cpu_freq: 950
2013-12-14_16:29:33 sysmon eth0_diff: RX: 0.00 MB, TX: 0.00 MB, Total: 0.00 MB
2013-12-14_16:29:33 sysmon cpu_temp_avg: 48.7
2013-12-14_16:29:33 sysmon cpu_temp: 48.69
2013-12-14_16:29:33 sysmon loadavg: 0.34 0.45 0.40
2013-12-14_16:29:33 sysmon ram: Total: 437 MB, Used: 54 MB, 12.36 %, Free: 383 MB


defines
# Modul-Definition
define sysmon SYSMON 1 1 1 10
attr sysmon event-on-update-reading cpu_temp,cpu_temp_avg,cpu_freq,eth0_diff,loadavg,ram,^~ /.*usb.*,~ /$
attr sysmon filesystems /boot, /, /media/usb1
attr sysmon group RPi
attr sysmon room 9.03_Tech

# Log
define FileLog_sysmon FileLog ./log/sysmon-%Y-%m.log sysmon
attr FileLog_sysmon group RPi
attr FileLog_sysmon logtype mySMCPUTemp:Plot,text
attr FileLog_sysmon room 9.03_Tech

# Visualisierung: CPU-Temperatur
define wl_sysmon_temp SVG FileLog_sysmon:mySMCPUTemp:CURRENT
attr wl_sysmon_temp group RPi
attr wl_sysmon_temp label "CPU Temperatur: Min $data{min2}, Max $data{max2}, Last $data{currval2}"
attr wl_sysmon_temp room 9.03_Tech

# Visualisierung: Netzwerk-Datenübertragung fü eth0
#define wl_sysmon_eth0 SVG FileLog_sysmon:mySMNetworkEth0:CURRENT
#attr wl_sysmon_eth0 group RPi
#attr wl_sysmon_eth0 label "Netzwerk-Traffic eth0: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
#attr wl_sysmon_eth0 room 9.03_Tech

# Visualisierung: Netzwerk-Datenübertragung fü Wlan0
define wl_sysmon_wlan0 SVG FileLog_sysmon:mySMNetworkWlan0:CURRENT
attr wl_sysmon_wlan0 label "Netzwerk-Traffic wlan0: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
attr wl_sysmon_wlan0 group RPi
attr wl_sysmon_wlan0 room 9.03_Tech

# Visualisierung: CPU-Auslastung (load average)
define wl_sysmon_load SVG FileLog_sysmon:mySMLoad:CURRENT
attr wl_sysmon_load group RPi
attr wl_sysmon_load label "Load Min: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
attr wl_sysmon_load room 9.03_Tech

# Visualisierung: RAM-Nutzung
define wl_sysmon_ram SVG FileLog_sysmon:mySMRAM:CURRENT
attr wl_sysmon_ram group RPi
attr wl_sysmon_ram label "RAM-Nutzung Total: $data{max1}, Min: $data{min2}, Max: $data{max2}, Aktuell: $data{currval2}"
attr wl_sysmon_ram room 9.03_Tech

# Visualisierung: Dateisystem: Root-Partition
define wl_sysmon_fs_root SVG FileLog_sysmon:mySMFS_Root:CURRENT
attr wl_sysmon_fs_root group RPi
attr wl_sysmon_fs_root label "Root Partition Total: $data{max1}, Min: $data{min2}, Max: $data{max2}, Aktuell: $data{currval2}"
attr wl_sysmon_fs_root room 9.03_Tech

# Visualisierung: Dateisystem: USB-Stick
#define wl_sysmon_fs_usb1 SVG FileLog_sysmon:mySMFS_usb1:CURRENT
#attr wl_sysmon_fs_usb1 group RPi
#attr wl_sysmon_fs_usb1 label "USB1 Total: $data{max1}, Min: $data{min2}, Max: $data{max2}, Aktuell: $data{currval2}"
#attr wl_sysmon_fs_usb1 room 9.03_Tech

# Anzeige der Readings zum Einbinden in ein 'Raum'.
define SysValues weblink htmlCode {SYSMON_ShowValuesHTML('sysmon')}
attr SysValues group RPi
attr SysValues room 9.03_Tech


Hab ich etwas falsch definiert?

Grüße

Puschel74

Hallo,

und ich wollt s noch anmerken  8)

ZitatHab ich etwas falsch definiert?
Natürlich.

eth0! = wlan0

Ich weiß nicht ob es mit wlan0_diff geht - da muss hexenmeister was dazu sagen.
Oder du versuchst es einfach und gibst Bescheid.
Ich pass dann das GPlot an und stell es rein.

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

Zitat von: hexenmeister am 06 Dezember 2013, 23:31:46
ich habe kein WLAN am Pi, daher hatte ich bis jetzt kein Plot dafür. Ist jedoch praktisch das selbe, wie bei eth0.
Habe kurzerhand eins erstellt: https://github.com/hexenmeister/MyFHEM/blob/master/www/gplot/mySMNetworkWlan0.gplot

...

In Config sollte das in etwa so aussehen:

define wl_sysmon_wlan0 SVG FileLog_sysmon:mySMNetworkWlan0:CURRENT
attr wl_sysmon_wlan0 label "Netzwerk-Traffic wlan0: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"


Hab mich an diesen Post gehalten.

In meinem Define steht ja # Visualisierung: Netzwerk-Datenübertragung fü Wlan0
define wl_sysmon_wlan0 SVG FileLog_sysmon:mySMNetworkWlan0:CURRENT
attr wl_sysmon_wlan0 label "Netzwerk-Traffic wlan0: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
attr wl_sysmon_wlan0 group RPi
attr wl_sysmon_wlan0 room 9.03_Tech


extra fürs wlan. ;)

Grüße

Puschel74

Hallo,

das ist nicht die Konfig von sysmon sondern vom Plot  ::)

define sysmon SYSMON 1 1 1 10
attr sysmon event-on-update-reading cpu_temp,cpu_temp_avg,cpu_freq,[b]eth0_diff[/b],loadavg,ram,^~ /.*usb.*,~ /$
attr sysmon filesystems /boot, /, /media/usb1
attr sysmon group RPi
attr sysmon room 9.03_Tech

Du loggst eth0_diff und nicht wlan0

Grüße

Edith: Aber gut zu wissen das es dafür eine GPlot gibt - erspar ich mir wieder was
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

#41
Aaah sry. Jetzt is klar was du meinst ;)
Das event-on-update-reading hab ich doch glatt übersehen.

Habs auf
attr sysmon event-on-update-reading cpu_temp,cpu_temp_avg,cpu_freq,eth0_diff,wlan0_diff,loadavg,ram,^~ /.*usb.*,~ /$
ausgebessert, nun klappts.

Danke!

Grüße

Puschel74

Hallo,

Zitatausgebessert, nun klappts.

Das ist schön zu lesen.

Ich habe heute meinem RasPi mal wieder ein apt-get update mit nachfolgendem apt-get upgrade laufen lassen.
Sieht man schön  ;D

Da hatte heute einer schon gut zu tun  ::)

Mal schauen ob ich einem meienr W-Lan RasPi auch Sysmon spendiere und dann mal vergleichen  8)

GRüße

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

Moin zusammen!

Habe die Frage am Handy gelesen, wollte sräter antworten, denn mit der Bildschirmtastatur bin ich am Kriegsfuß  :o
Und jetzt alles schon gelöst, schöne Sache das ;)

Grüße,

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

hexenmeister

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