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

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

Vorheriges Thema - Nächstes Thema

Basti

Zitat von: hexenmeister am 26 April 2015, 23:34:57
Die bereits angesprochenen Änderungen sind morgen per Update verfügbar.
Zusätzlich noch: cpu_temp_stat
Warnungen wg. scaling_cur_freq  und eth0/speed sollten weg sein.
Danke, Hexenmeister! Hab das Update jetzt einen Tag lang installiert gehabt, und bis jetzt hab ich keine cpu_freq Warnungen mehr gesehen.

Harald

#886
Hallo Hexenmeister,

erstmal herzlichen Dank, dass Du diese Daten auch zur Verfügung stellst.

Wozu ich das gerne hätte:

Ich habe den RasPi eine externe Festplatte verpasst. Nun habe ich hin und wieder das Problem, dass der RasPi dort nicht richtig zugreifen kann. Das zeigt sich darin, dass fhem nicht ordnungsgemäß arbeitet. Deshalb habe ich mir einen Watchdog eingerichtet, der fhem überwacht. Wenn dieser anspricht, wird der Pi neu gebootet. Danach zeigt SYSMON die Laufzeit nach dem Neustart an. Da das nicht so häufig passiert, kann diese Zeit schon einige Tage oder mehr betragen, bis man das bemerkt. Um den einigermaßen genauen Zeitpunkt des Ausfalls ermitteln zu können, ist es von Vorteil, nicht nur die Zeit seit dem Neustart, sonden auch Datum und Zeit zu wissen. Man kann das natürlich auch aus der Laufzeit nach dem Neustart berechnen. Steht das aber schon in SYSMON, wird der Faulheit Vorschub geleistet :-[ und man braucht nicht zu rechnen.

Vielen Dank nochmal, dass Du das so schnell realisiert hast und angenehmen Tag noch

Harald

PS: Habe ein Update durchgeführt. Leider werden die Werte nicht angezeigt, wenn ich den Raum "RasPi" anwähle. Im Logfile sind sie vorhanden. Sie werden auch in den Readings von sysmon aufgeführt. Hier ein Auszug aus meiner fhem.cfg# Anzeige der Readings zum Einbinden in ein 'Raum'.
define SysValues weblink htmlCode {SYSMON_ShowValuesHTML('sysmon')}
attr SysValues group RPi
attr SysValues room RasPi
Damit sollten doch alle Readings dargestellt werden, oder? Schreibe ich# Anzeige der Readings zum Einbinden in ein 'Raum'.
define SysValues weblink htmlCode {SYSMON_ShowValuesHTML('sysmon',  ('starttime_text:System_Start', 'fhemstarttime_text:FHEM_Start'))}
attr SysValues group RPi
attr SysValues room RasPi
werden die gewünschten Werte angezeigt aber natürlich keine anderen. Muss ich tatsächlich alle Parameter einzeln aufführen oder gibt es eine andere Möglichkeit, die neuen zu den Default-Werten hinzuzufügen?
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

hexenmeister

Zitatwerden die gewünschten Werte angezeigt aber natürlich keine anderen. Muss ich tatsächlich alle Parameter einzeln aufführen oder gibt es eine andere Möglichkeit, die neuen zu den Default-Werten hinzuzufügen?
Es ist so gedacht, dass man entweder die Default-Liste nimmt, oder eben alles komplett selbst definiert.
Ich kann natürlich auch diese Werte in die Liste aufnehmen, dann sind aber die Start- und Laufzeit etwas redundant. Nehme ich das andere raus, wird sich bestimmt auch jemand daran stören... Ich bin jetzt etwas ratlos.

Harald

Danke für die Info. Mach Dir keinen Kopf ...  8) Ich bin ja froh, dass es die Möglichkeit überhaupt gibt. Da komme ich schon zurecht.

Nochmals besten Dank und viele Grüße

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

hexenmeister

nach dem Update neue readings ram_used_stat und swap_used_stat.
Außerdem Methoden zur Anzeige von Balkendiagrammen (vielen Dank an snx!)

## usage:
##   SYSMON_weblinkHeader(<weblink device>[,<text>]) : create a clickable device header
##   SYSMON_ShowBarChartHtml(<sysmon device>[,<bar color>[,<border color>]]) : create a bar chart for sysmon device
##
## example:
##   define wlSysmon weblink htmlCode {SYSMON_weblinkHeader('wlSysmon').SYSMON_ShowBarChartHtml('sysmon')}
##   define wlSysmon weblink htmlCode {SYSMON_weblinkHeader('wlSysmon','Cubietruck').SYSMON_ShowBarChartHtml('sysmon','steelblue','gray')}



rabbe

Tolle Sache und Arbeit, was ich gleich einmal ausprobiert habe. Kann man die Balkenanzeige noch beeinflussen? "mem swap" bringt mir bei beiden nicht viel und was bei dir "root fs" ist bei mir nur "root".

Wheezy@MeLE A2000 (A10) | FHEM 5.6 | CUL433 | CUL868 | FRITZ!Box 7362SL --- CUL_WS: AS(H)2000, S2001I(D/A), WS7000-15/16/20, S300TH, S555TH, ASH555, KS555 | CUL_TX: TX3P | FS20: FS20 STR-2 | FBAHA, FBDECT: FRITZ!Dect 200 | Calendar | ENIGMA2 | JSONMETER | PROPLANTA | SYSMON

Achim

Hallo Alexander

die Balkenanzeige habe ich heute gleich getestet. Bei meinem System (RPi) wird die CPU Load aber immer mit 100% angegeben. Anhand des Readings ist das auch logisch.
Zitatstat_cpu_percent   34.40 0.00 65.20 0.00 0.00 0.00 0.40
Laut Programm wird der 4. Wert (Idle) zur Berechnung der %-Zahl verwendet. Ich habe mir das Logfile von SYSMON angesehen. Der "Idle" Wert ist dabei immer auf 0.00. User und System ergeben zusammen die 100% (bis auf ein paar Promille von anderen Werten). Ist das jetzt "nur" eine reine Definitionssache oder ist die CPU auf meinem RPi  immer zu 100% ausgelastet?

Viele Grüße
Achim
1x RPi V1, COC, 6x FHT, 1x S300TH, 2x DS18B20, 1x KS300
1x Arduino Nano mit Firmata, 2x DS2423old, 4x DS18B20, HIH5030, verschiedene Ein/Ausgangsschaltungen am Arduino
Mysensors-Seriell Gateway, Si7021, BH1750, Relais

snx

Zitat von: rabbe am 01 Mai 2015, 13:51:47
Tolle Sache und Arbeit, was ich gleich einmal ausprobiert habe. Kann man die Balkenanzeige noch beeinflussen? "mem swap" bringt mir bei beiden nicht viel und was bei dir "root fs" ist bei mir nur "root".

Ich habe meine Balkenanzeige mittlerweile etwas optimiert und um min, max und avg werte erweitert.
Ich werde es noch auf das letzte update anpassen und dann mal hier posten.
Evt sagt es Hexenmeister ja zu und er über nimmt die Anpassung.

Bezüglich des Beeinflussens habe ich mir auch ein paar Gedanken gemacht, ist halt nur viel Schreibarbeit (Methodenparameter; mit einem eigenen Modul und Attributen wäre es einfacher/übersichtlicher ;))

hexenmeister

Zitat von: snx am 01 Mai 2015, 20:52:29
Evt sagt es Hexenmeister ja zu und er über nimmt die Anpassung.
Ganz sicher ;)
Ich habe Deinen Code nicht viel verändert. Nur die Möglichkeit, Rahmen-Farbe zu bestimmen und den Anzeigetext der Link zu setzen.

Zitat
Bezüglich des Beeinflussens habe ich mir auch ein paar Gedanken gemacht, ist halt nur viel Schreibarbeit (Methodenparameter; mit einem eigenen Modul und Attributen wäre es einfacher/übersichtlicher ;))
Habe ich auch schon überlegt. Gleiches Problem: habe keine gute Idee, wie man das halbwegs bequem gestallten kann.
@all: Ideen sind willkommen.


hexenmeister

Zitat von: rabbe am 01 Mai 2015, 13:51:47
Tolle Sache und Arbeit, was ich gleich einmal ausprobiert habe. Kann man die Balkenanzeige noch beeinflussen? "mem swap" bringt mir bei beiden nicht viel und was bei dir "root fs" ist bei mir nur "root".
Alle Lorbeeren gehen an snx ;)

hexenmeister

Zitat von: Achim am 01 Mai 2015, 14:31:05
Ist das jetzt "nur" eine reine Definitionssache oder ist die CPU auf meinem RPi  immer zu 100% ausgelastet?
Gute Frage, sieht aber so aus, dass Dein System am Limit läuft. Was gibt 'uptime' in der Linux-Console aus (load average Werte)? Schau dir auch Ausgabe von 'top' an. Ggf. kannst Du auch 'htop' installieren, zeigt das gleiche, nur etwas hübscher aufbereitet.

rabbe

Wheezy@MeLE A2000 (A10) | FHEM 5.6 | CUL433 | CUL868 | FRITZ!Box 7362SL --- CUL_WS: AS(H)2000, S2001I(D/A), WS7000-15/16/20, S300TH, S555TH, ASH555, KS555 | CUL_TX: TX3P | FS20: FS20 STR-2 | FBAHA, FBDECT: FRITZ!Dect 200 | Calendar | ENIGMA2 | JSONMETER | PROPLANTA | SYSMON

Icinger

Es fehlt leider immer noch der dicke große ThumbsUp-Button :(
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Achim

Hallo Alexander,

das Problem mit der 100% CPU Last kommt von "owserver". Es gibt dafür auch schon einen anderen Thread
http://forum.fhem.de/index.php/topic,18521.msg291274.html#msg291274

Viele Grüße
Achim
1x RPi V1, COC, 6x FHT, 1x S300TH, 2x DS18B20, 1x KS300
1x Arduino Nano mit Firmata, 2x DS2423old, 4x DS18B20, HIH5030, verschiedene Ein/Ausgangsschaltungen am Arduino
Mysensors-Seriell Gateway, Si7021, BH1750, Relais

willybauss

Hallo,
habe gestern SYSMON installiert und bin ziemlich begeistert. Nahezu ausschließlich per Copy-PAste der Beispielkonfiguration klappt alles.   

Allerdings dann doch eine Merkwürdigkeit:

Vorher hatte ich PiControl zur Überwachung meines Raspi. Der Raspi läuft im Turbomodus, d.h. normalerweise 700MHz, bei hoher Last kurzzeitig 1GHz. PiControl hatte mir das in den Statistiken auch genau so angezeigt. Aber bei SYSMON wird mir nahezu ununterbrochen 1GHz angezeigt, nahezu kein Rückfall auf 700MHz. Die Auslastung liegt nach wie vor bei ca. 15 ... 20%, d.h. eigentlich kein Grund, um dauerhaft mit 1GHz zu laufen.
Jetzt frage ich mich, ob evtl. SYSMON selbst während der Abfragen den Turbomodus verursacht, denn sonst hat sich nichts verändert. Kann ich irgendwas an den Settings korrigieren, um die "richtige" Anzeige zu erhalten?

Gruß

Willy
PS:
Evtl. gab es diese Frage schon mal. Verzeiht bitte, wenn ich nicht die 60 Seiten dieses Themas komplett durchlese für eine einzige Frage  :-\ ...
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS