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

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

Vorheriges Thema - Nächstes Thema

mrfloppy

Hallo
Ich verwende Fhem für ein Projekt auf einem Raspi mit einem HSDPA USB Stick.
Ich würde gerne den Monatsverbrauch der eth0 mir anzeigen lassen.
Die Werte die SYSMON von der eth0 ausliest sind am Raspy aber nicht rücksetzbar.
Sprich ich kann sie dort nicht reseten.

Kann mir wer mal Tips geben wie ich mir den Monatsverbrauch anzeigen lassen kann.
Ev auch mal zwischendurch unter dem Monat abfragbar.

Danke und LG Thomas
RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

hexenmeister

Du kannst entsprechende Readings doch einfach löschen. Oder ist habe nicht verstanden, was du mit "resetten" meinst.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

mrfloppy

wenn ich das reading eth0 lösche liest er es ja aus dem raspi wieder aus und dort stehen die alten werte
RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

SabineT

Zitat von: mrfloppy am 21 September 2017, 16:59:42
Hallo
Ich verwende Fhem für ein Projekt auf einem Raspi mit einem HSDPA USB Stick.
Ich würde gerne den Monatsverbrauch der eth0 mir anzeigen lassen.
Die Werte die SYSMON von der eth0 ausliest sind am Raspy aber nicht rücksetzbar.
Sprich ich kann sie dort nicht reseten.

Kann mir wer mal Tips geben wie ich mir den Monatsverbrauch anzeigen lassen kann.
Ev auch mal zwischendurch unter dem Monat abfragbar.

Danke und LG Thomas
Dafür würde sich https://fhem.de/commandref_DE.html#statistics anbieten.

hexenmeister

Zitat von: mrfloppy am 21 September 2017, 18:21:09
wenn ich das reading eth0 lösche liest er es ja aus dem raspi wieder aus und dort stehen die alten werte
Maches rechnet SYSMON selbst aus, manches übernimmt aus dem Betriebssystem. Im ersten Fall wirkt sich das Löschen der Readings aus, in zweiten - kann SYSMON gar nichts ausrichten.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

mrfloppy

ZitatDafür würde sich https://fhem.de/commandref_DE.html#statistics anbieten.

define Datenverbrauch statistics sysmon

ergibt dann "monitoredDevicesUnsupported sysmon#SYSMON"

Oder mache ich etwas falsch?
RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

hexenmeister

Zitat von: mrfloppy am 22 September 2017, 08:30:13
define Datenverbrauch statistics sysmon

Ich kenne Statistik-Modul nicht, aber so einfach kann es nicht funktionieren. Zumindest irgendeine Angabe, welche Readings wie zu verwenden/interpretiren sind ist sicher notwendig. Evtl. wird man auch mit UserReadings Daten vorher etwas aufzubereiten. Sehe Dir bitte Commandref und Wiki an.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Standarduser

Hallo zusammen,

ich versuche gerade, SYSMON mit meiner DiskStation zum Laufen zu bekommen, aber irgendwie will es nicht.

Meine Definition sieht so aus:

define NW.DiskStation.sysmon SYSMON telnet:root@192.168.243.5
attr NW.DiskStation.sysmon room Netzwerk
attr NW.DiskStation.sysmon telnet-prompt-regx .*DiskStation.*
attr NW.DiskStation.sysmon verbose 5


Und das ist das Ergebnis:

2017.10.02 16:56:01 5: SYSMON NW.DiskStation.sysmon: updateReadings.1060
2017.10.02 16:56:01 5: SYSMON NW.DiskStation.sysmon: blockingCall.954 NW.DiskStation.sysmon,
2017.10.02 16:56:01 5: SYSMON NW.DiskStation.sysmon: obtainParameters.1116 NW.DiskStation.sysmon: Open shared telnet connection
2017.10.02 16:56:01 5: SYSMON NW.DiskStation.sysmon: readPassword.3783 Read password from file
2017.10.02 16:56:01 5: SYSMON NW.DiskStation.sysmon: Open_Connection.3877 Open Telnet connection to 192.168.243.5:23
2017.10.02 16:56:01 5: SYSMON NW.DiskStation.sysmon: Open_Connection.3891 Wait for user or password prompt.
2017.10.02 16:56:01 5: SYSMON NW.DiskStation.sysmon: Open_Connection.3910 Entering user name
2017.10.02 16:56:01 5: SYSMON NW.DiskStation.sysmon: Open_Connection.3913 Wait for password prompt
2017.10.02 16:56:01 5: SYSMON NW.DiskStation.sysmon: Open_Connection.3928 Entering password
2017.10.02 16:56:01 5: SYSMON NW.DiskStation.sysmon: Open_Connection.3931 Wait for command prompt
2017.10.02 16:56:11 2: SYSMON NW.DiskStation.sysmon: Open_Connection.3937 Telnet error while waiting for command prompt: pattern match timed-out
2017.10.02 16:56:11 5: SYSMON NW.DiskStation.sysmon: blockingFinish.1041 name|NW.DiskStation.sysmon|error|Telnet error while waiting for command prompt: pattern match timed-out


Wenn ich mich selber per Telnet einlogge, dann sieht das so aus:

Sebastians-iMac:~ sebastian$ telnet 192.168.243.5
Trying 192.168.243.5...
Connected to diskstation.fritz.box.
Escape character is '^]'.

DiskStation login: root
Password:


BusyBox v1.16.1 (2014-05-29 11:29:12 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

root@DiskStation ~ $


Ich habe schon verschiedene Prompt-RegEx ausprobiert, aber das Ergebnis ist immer das Gleiche.
Hat jemand eine Idee?

hexenmeister

SYSMON per Telnet war schon von Anfang an eine wackelige Geschichte. Richte am besten einen SSH-Zugang mit Key-Authentication ein.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

MadMax-FHEM

#1494
Hallo,

ich hatte das Modul kurz mal auf meinem Testsystem (PI2 Wheezy) aktiv, dann aber wieder deaktiviert, da ich es nicht mehr gebraucht habe.

Nun habe ich es auf meinem Produktiv-System aktiviert (will dort ein Auge auf den Speicher haben), das habe ich neu aufgesetzt (PI3 Stretch).

Habe dann die Ausgabe von ram gesehen und mich gewundert, das kann nicht stimmen...


ram

Total: 976.86 MB, Used: -1551.27 MB, -158.80 %, Free: 1717.71 MB                             2017-10-30 01:20:49
ram_used_stat    -1551.27 -1551.27 -1551.27                             2017-10-30 01:20:49


...also wieder deaktiviert.

Nun hatte ich etwas Zeit zur Analyse und folgendes herausgefunden.

Unter Wheezy und auch Jessie (weiteres Testsystem PI3) sieht die Ausgabe von 'LANG=en free' folgendermaßen aus:


             total       used       free     shared    buffers     cached
Mem:        994240     556612     437628      50172      89764     384904
-/+ buffers/cache:      81944     912296
Swap:       102396          0     102396


Unter Stretch dann aber wie folgt:


              total        used        free      shared  buff/cache   available
Mem:        1000304       92368      776732        6616      131204      851700
Swap:        102396           0      102396


Daher denke ich dass diese Stelle so wohl nicht mehr stimmt:


    #$used_clean = $used - $buffers - $cached;
    #$ram = sprintf("Total: %.2f MB, Used: %.2f MB, %.2f %%, Free: %.2f MB", $total, $used_clean, ($used_clean / $total * 100), ($free + $buffers + $cached));
    if ($total > 2048) {
       $used_clean = $used;
       $ram = sprintf("Total: %.2f MB, Used: %.2f MB, %.2f %%, Free: %.2f MB", $total, $used_clean, ($used_clean / $total * 100), ($free));
     } else {
       $used_clean = $used - $buffers - $cached;
       $ram = sprintf("Total: %.2f MB, Used: %.2f MB, %.2f %%, Free: %.2f MB", $total, $used_clean, ($used_clean / $total * 100), ($free + $buffers + $cached));
     }


Wahrscheinlich genauer diese Zeilen:


       $used_clean = $used - $buffers - $cached;
       $ram = sprintf("Total: %.2f MB, Used: %.2f MB, %.2f %%, Free: %.2f MB", $total, $used_clean, ($used_clean / $total * 100), ($free + $buffers + $cached));


Ich habe für mich mal folgendes benutzt:


       $used_clean = $used;
       $ram = sprintf("Total: %.2f MB, Used: %.2f MB, %.2f %%, Free: %.2f MB", $total, $used_clean, ($used_clean / $total * 100), ($free));


Ist natürlich nicht korrekt (schätze ich) aber sieht zumindest mal brauchbar(er) aus...


ram

Total: 976.86 MB, Used: 91.02 MB, 9.32 %, Free: 74.42 MB                             2017-10-30 01:32:18
ram_used_stat   91.02 91.02 91.02                             2017-10-30 01:32:18


EDIT: Modul (bzw. fhem) habe ich eben zuvor noch ein Update verpasst... Ebenso dem OS (Stretch)...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

kadettilac89

Zitat von: MadMax-FHEM

Nun habe ich es auf meinem Produktiv-System aktiviert (will dort ein Auge auf den Speicher haben), das habe ich neu aufgesetzt (PI3 Stretch).

Habe dann die Ausgabe von ram gesehen und mich gewundert, das kann nicht stimmen...

Das ist bekannt. Siehe 1 Seite zurück. Da gibt es schon Ansätze.
Zitat von: hexenmeister am 11 September 2017, 20:53:35
Das ist vermutlich der beste Weg. Muss jetzt nur noch Zeit finden (liegen gerade zu viele halbfertige Projekte rum).

MadMax-FHEM

Uiuiui, Schande über mich!!

Muss gestehen, dass ich (genau dieses Mal) nicht (wirklich) gesucht (noch diesen Thread [genau] gelesen) hab...

Danke für den Hinweis!!

Bin schon ruhig! ;)

Bzw. wenn ich noch was testen/liefern kann einfach mitteilen...

Gruß (und sorry noch mal ;)  ), Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

andies

FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

mahowi

Bei mir sind's nur 100.  ;)
Die kann man sich doch bestimmt von Alexa vorlesen lassen.  ;D
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

volschin

Ich bin gerade wieder mal erschwerend drauf gestoßen, dass das Attribut user-defined immer noch nicht als "textField-long" spezifiziert ist. Die Eingabe von Änderungen über die Oberfläche ist damit unnötig schwierig.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)