FHEM - Hausautomations-Systeme > Unterstützende Dienste

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

(1/348) > >>

hexenmeister:
Hallo!

Bei der Suche nach Möglichkeiten, mit FHEM das Wirt-System zu überwachen, habe ich mir das SYSSTAT-Modul und die RPiUtils-Bibliothek angesehen. Da irgendwie beides mir nicht so richtig zugesagt hatte, habe ich ein neues Modul geschrieben. Vielleicht kann es jemand sonst auch gebrauchen.
Beispiel-Plots:
(http://www.s6z.de/cms/images/content/RPi/RPi_SYSMON_01.png)
(http://www.s6z.de/cms/images/content/RPi/RPi_SYSMON_02.png)

Edit:
Das Modul ist mittlerweile ein Bestandteil der offiziellen FHEM-Distribution. Die aktuelle Beschreibung ist unter http://fhem.de/commandref_DE.html#SYSMON zu finden.
Die benötigten Dateien kommen per FHEM-update. Außerdem liegen diese auch auf GitHub:
https://github.com/hexenmeister/MyFHEM/blob/master/FHEM/42_SYSMON.pm
und unter
https://github.com/hexenmeister/MyFHEM/blob/master/www/gplot/
sind mehrere Plots zu finden (alles was mit SM_ anfängt):
       
   SM_CPUStat.gplot
   SM_CPUStatSum.gplot    
   SM_CPUTemp.gplot    
   SM_DB_CPUFreq.gplot    
   SM_DB_CPUTemp.gplot    
   SM_DB_Load.gplot    
   SM_DB_Network_eth0.gplot    
   SM_DB_RAM.gplot    
   SM_DB_all.gplot    
   SM_FS_root.gplot    
   SM_FS_usb1.gplot    
   SM_Load.gplot    
   SM_Network_eth0.gplot    
   SM_Network_eth0t.gplot
   SM_Network_wlan0.gplot
   SM_RAM.gplot

Beispiel-Definitionen für fhem.cfg:

--- Code: ---# 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 event-on-update-reading cpu_temp,cpu_temp_avg,cpu_freq,eth0_diff,loadavg,ram,fs_.*
attr sysmon filesystems fs_boot:/boot,fs_root:/:Root,fs_usb1:/media/usb1:USB-Stick
attr sysmon network-interfaces eth0:eth0:Ethernet,wlan0:wlan0:WiFi
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 SM_CPUTemp:Plot,text
attr FileLog_sysmon room 9.03_Tech

# Visualisierung: CPU-Temperatur
define wl_sysmon_temp SVG FileLog_sysmon:SM_CPUTemp: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:SM_Network_eth0: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:SM_Network_wlan0:CURRENT
attr wl_sysmon_wlan0 group RPi
attr wl_sysmon_wlan0 label "Netzwerk-Traffic wlan0: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
attr wl_sysmon_wlan0 room 9.03_Tech

# Visualisierung: CPU-Auslastung (load average)
define wl_sysmon_load SVG FileLog_sysmon:SM_Load: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:SM_RAM: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:SM_FS_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:SM_FS_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

# Anzeige CPU Auslasung
define wl_sysmon_cpustat SVG FileLog_sysmon:SM_CPUStat:CURRENT
attr wl_sysmon_cpustat label "CPU(min/max): user:$data{min1}/$data{max1} nice:$data{min2}/$data{max2} sys:$data{min3}/$data{max3} idle:$data{min4}/$data{max4} io:$data{min5}/$data{max5} irq:$data{min6}/$data{max6} sirq:$data{min7}/$data{max7}"
attr wl_sysmon_cpustat group RPi
attr wl_sysmon_cpustat room 9.99_Test
attr wl_sysmon_cpustat plotsize 840,420
define wl_sysmon_cpustat_s SVG FileLog_sysmon:SM_CPUStatSum:CURRENT
attr wl_sysmon_cpustat_s label "CPU(min/max): user:$data{min1}/$data{max1} nice:$data{min2}/$data{max2} sys:$data{min3}/$data{max3} idle:$data{min4}/$data{max4} io:$data{min5}/$data{max5} irq:$data{min6}/$data{max6} sirq:$data{min7}/$data{max7}"
attr wl_sysmon_cpustat_s group RPi
attr wl_sysmon_cpustat_s room 9.99_Test
attr wl_sysmon_cpustat_s plotsize 840,420

--- Ende Code ---

Beschreibung auf meiner Seite: http://www.s6z.de/cms/index.php/homeautomation/fhem/54-raspberry-pi-system-ueberwachen-mit-sysmon

Grüße,

Alexander

salvadore:
Hallo Alexander,
zuerst mal meinen größten Respekt; an solchen Dingen erkenne ich, was ich alles nicht kann/weis aber als >60 wird man auch ruhiger.

Wie Du in deinem Beitrag erläuterst, habe ich die Konfiguration vorgenommen. Ich habe zwar kein Laufwerk am PI aber es sollte ja trotzdem fuktionieren. Tut es auch, zumindest teilweise.
Beim reload von 42_SYSMon kommt diese Fehlermeldung:

Unrecognized character \xC2; marked by <-- HERE after at master <-- HERE near column 51 at ./FHEM/42_SYSMON.pm line 9.

Eine Screen anbei, was anschliessend ausgegeben wird.

Was habe ich nichr richtig konfiguriert?
Gruss
Salvadore

salvadore:
Hi Alexander,
nehme alles zurück, habe alles neu heruntergeladen und dann hat es auf Anhieb funktioniert.
Nochmal Danke für das Modul und Deine Arbeit.
LG
salvadore  8)

hexenmeister:
Hallo!

War gerade am antworten, habe auch vermutet, dass beim Kopieren aus GitHub etwas schief gelaufen war.
Mich würde Deine Meinung zu dem Modul interessieren, nachdem Du ihn etwas länger im Einsatz hast. Ist es nützlich? Läuft stabil (bei mir schon seit Tagen)? Fehlt etwas? Verbesserungswünsche?

Grüße,

Alexander

salvadore:
Hi Alexander,
ich lass es jetzt mal laufen.

Auf dem Pi läuft z.Zt. keine andere "FHEM-Anwendung". Ich hoffe z.B. damit die Stabilität des PI nachvollziehen zu können. In der Vergangenheit ist er nämlich des öfteren abgestürzt. Zu Testzwecken lief die auch hier im Forum vorgestellte Anwendung zur Einbindung eines Schallpegelmessgerätes; die ist jetzt auskommentiert, weil ich eingrenzen möchte, liegt es am PI und Fhem oder am angeschlossenen Meßgerät. Und da ist Dein Modul bestens geeignet.

Ich gebe nach dem Wochende Rückmeldung.

LG
salvadore

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln