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

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

Vorheriges Thema - Nächstes Thema

chris1284

Zitat von: hexenmeister am 07 August 2014, 22:14:08
@chris1284:
für die Anzeige ist eingentlich die SYSMON_ShowValuesHTML-Methode gedacht.
Ok, kannich noch nicht. Dann erübrigt sich ja alles andere, Danke!

HCS

Zitat von: tpm88 am 07 August 2014, 23:54:05
Für den aktuellen Ladungswert des Akkus wird aber auch das Readings sysmon.power_battery_info im Log (attr event-on-update-reading) benötigt. Dieses Reading mischt statische Werte (wie die - leider falsche - Design Kapazität ) mit dynamischen wie dem aktuellen Füllstand. Den Ladungswert fände ich ja eleganter beim Reading sysmon.power_battery_stat und vielleicht nochmal lesbar im sysmon.power_battery_text. Dann wäre das *_battery_stat aber nicht mehr analog wie die *_usb_stat und *_ac_stat Readings definiert.

Design-Kapazität siehe http://forum.fhem.de/index.php/topic,20966.msg190003.html#msg190003
Die capacitiy (/sys/class/power_supply/battery/capacity) hätte ich auch gerne in power_battery_stat mit drin.

die _stat readings zum loggen
die _info / text readings zum anschauen

tpm88

Zitat von: hexenmeister am 08 August 2014, 00:37:27
Danke für den Plot, werde mir morgen ansehen.

Hier noch zwei Plot-Vorlagen für AC Power und USB Power beim CubieTruck. Wiederum inspiriert von HCS - danke dafür!

Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on Odroid HC1, HM-USB, JeeLink
Devices: diverse HM, IT1500, 1wire, LaCrosse, MQTT

hexenmeister

Habe die Plots jetzt etwas angepasst und eingecheckt.
Die power_battery_stat - Reading für Batterie habe ich um die aktuelle Kapazität ergänzt.
Wäre schön, wenn jemand Bat-Plot testet, ich habe selbst keinen Akku dran.

Nochmals vielen Dank für die Unterstützung! :)
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

duke-f

Etwas offtopic, aber hier fällt mir das gerade auf: Ist es normal, dass der Cubie ein loadavg von um die 10 zeigt, wenn nur FHEM darauf läuft?
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

hexenmeister

Zitat von: duke-f am 13 August 2014, 17:12:54
Etwas offtopic, aber hier fällt mir das gerade auf: Ist es normal, dass der Cubie ein loadavg von um die 10 zeigt, wenn nur FHEM darauf läuft?

nein.

uptime
17:25:04 up 8 days, 21:56,  1 user,  load average: 0,10, 0,06, 0,11


Was sagt top?
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

HCS

Auch "nein"
Load average: 0.65 0.28 0.14

Und da läuft sogar mehr als nur FHEM

duke-f

Das gleiche, in der entsprechenden Datei und in webmin (ja, habe ich vergessen zu erwähnen) auch das gleiche.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

hexenmeister

Zitat von: duke-f am 13 August 2014, 17:33:16
Das gleiche, in der entsprechenden Datei und in webmin (ja, habe ich vergessen zu erwähnen) auch das gleiche.

Welcher Prozess verursacht denn diese Last?
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

duke-f

Eigentlich ist da keinwer auffällig. Ich dachte auch, loadavg sage lediglich etwas über die Zahl der Prozesse in der Warteschlange.

Bin jetzt unterwegs, zuhause werde ich mal den Cubie komplett neu starten.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

hexenmeister

Zitat von: duke-f am 13 August 2014, 18:32:40
Ich dachte auch, loadavg sage lediglich etwas über die Zahl der Prozesse in der Warteschlange.

Richtig. Das bedeutet aber, dass CPU mit irgendwas beschäftigt ist. Sonst müsste ja keiner Warten (ok, kann auch IO sein). Cubietruck hat 2 CPU, also bei loadavg = 2 ist das System optimal ausgelastet: keine Langeweile, keine Überlastung. Mit FHEM alleine ist das System aber praktisch 'arbeitslos'. Das sollte loadavg weit unter 1 sein. Bei deinem System liegt irgendwas im Argen.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

PeMue

Hallo Alexander,

kennst Du das
http://www.antary.de/2014/07/27/fritzbox-service-code-auslesen-und-dekodieren/
schon? Ich werde mal schauen, ob ich das mal in meine 99_utils.pm einbaue.
Interessant ist die Laufzeit, meine 7170 läuft schon mehr als 7 Jahre  ;)

Gibt es auf Einplatinencomputern auch die Messung der Gesamtlaufzeit?

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

hexenmeister

run_clock kannte ich noch nicht. Die Info über die Gesamtlaufzeit und Restarts kann  interessant sein. Kann evtl. bei Gelegenheit einbauen.
Für Einplatinenrechne wie Cubietruck kenne ich so etwas auch nicht.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

moonsorrox

Zitat von: PeMue am 13 August 2014, 20:39:51
Gibt es auf Einplatinencomputern auch die Messung der Gesamtlaufzeit?

betateilchen hatte ich letztens gefragt wie er die Cubie Gesamtlaufzeit abfragt.

ich hatte das übernommen

99_myUtils:
########################################################
# Fhem und Cubie UpTime
########################################################

sub splitUptime{
my ($a,undef) = split(/ /, qx(cat /proc/uptime));
$a = secs2dhms($a);
($a,undef) = split(/,/, $a) if $a =~ m/days/;
return $a;
}

sub secs2dhms($) {
my ($diff) = @_;
my ($d,$h,$m,$ret);

($d,$diff) = __myDiv($diff,86400);
($h,$diff) = __myDiv($diff,3600);
($m,$diff) = __myDiv($diff,60);

$ret  = "";
$ret .= "$d days, " if($d >  1);
$ret .= "1 day,  "  if($d == 1);
$ret .= sprintf("%02s:%02s:%02s", $h, $m, $diff);

return $ret;
}


sub __myDiv($$) {
       my ($p1,$p2) = @_;
       return (int($p1/$p2), $p1 % $p2);
}


für RSS habe ich dann folgende Condition:

{ "Cubie Up:" }
{ trim(splitUptime()) }

{ "FHEM Up: " }
{secs2dhms(time - $fhem_started) }
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

hexenmeister

Das ist was anderes. "cat /proc/uptime" zeigt die zeit seit dem Start des Betriebsystems.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy