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

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

Vorheriges Thema - Nächstes Thema

andies

Die hier sind das
SM_CPUStat.gplot
SM_CPUStatSum.gplot
SM_CPUStatTotal.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

Die sollten automatisch angezeigt werden. Bei mir sieht das so aus und das funktionierte out-of-the-box
defmod sysmon SYSMON 3 3 3 10
attr sysmon event-on-update-reading cpu_temp,cpu_temp_avg,cpu_freq,wlan0_diff,loadavg,fs_.*,stat_cpu_percent
attr sysmon network-interfaces wlan0:wlan0:WiFi

plus
defmod DbLog DbLog ./db.conf (sysmon|Stromzaehler):.*
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

Spezialtrick

Genau die GPlot Dateien meine ich. Wo werden diese denn bei dir angezeigt?

Sysmon habe ich ich ähnlich angelegt und in DBLog logge ich auch alle Werte mit, allerdings ist mir nicht klar, wie ich nun aus den Werte anhand der vorgefertigten GPlot Dateien Graphen erzeugen kann. Automatisch wird bei mir leider nichts angelegt.
FHEM - Debmatic - Zigbee2MQTT - Homekit

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

andies

Sonst nimm mal die raw-Definition, die ich gerade ausgelesen habe:
defmod wl_sysmon_load SVG DbLog:my_Load:HISTORY
attr wl_sysmon_load label "Load Min: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
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

Spezialtrick

Könntest du alle RAW definition posten?  :)

Und die Graphen würden alle beim anlagen von Sysmon erzeugt und werden auch befüllt?
FHEM - Debmatic - Zigbee2MQTT - Homekit

andies

Ja, bei mir klappt das.
defmod wl_sysmon_temp SVG DbLog:my_CPUTemp:HISTORY
attr wl_sysmon_temp label "CPU Temperatur: Min $data{min2}, Max $data{max2}, Last $data{currval2}"
attr wl_sysmon_temp verbose 0

Das war die CPU-Temperatur. Nun noch Traffic (bei mir nur WLAN)
defmod wl_sysmon_wlan0 SVG DbLog:my_Network_wlan0:HISTORY
attr wl_sysmon_wlan0 label "Netzwerk-Traffic wlan0: $data{min1}, Max: $data{max1}"

und zuletzt Load. Da gibt es eine Besonderheit, weil ich eine blaue Linie bei Load=1 haben will. Zuerst das Gerät
defmod wl_sysmon_load SVG DbLog:my_Load:HISTORY
attr wl_sysmon_load label "Load Min: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"

Nun werden die Dateien bei jeden Update normalerweise überschrieben, also habe ich die alle neu angelegt, siehe Screenshot. Ich hänge mal alle drei Dateien an.

Der Proxy sieht so aus:defmod lp logProxy

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

Spezialtrick

#1401
Zitat von: andies am 04 Juni 2017, 14:05:35
defmod wl_sysmon_temp SVG DbLog:my_CPUTemp:HISTORY
attr wl_sysmon_temp label "CPU Temperatur: Min $data{min2}, Max $data{max2}, Last $data{currval2}"
attr wl_sysmon_temp verbose 0

Das war die CPU-Temperatur.

Die Darstellung der CPU Temperatur funktioniert bei mir einwandfrei. Ich nehme an, dass es daran liegt, dass die Daten für den Graphen tatsächlich als Reading vorliegen. Bei der Load wird ja lediglich das Reading "loadavg" bereitgestellt, dass alle drei Datensätze für den Graphen enthält.  :-\

Daher scheint der Load Graph nicht zu funktionieren.

FHEM - Debmatic - Zigbee2MQTT - Homekit

andies

Ich lasse mir beim load nur 1min anzeigen und das läuft über einen Proxy. Damit diese Linie in Höhe von 1 angezeigt wird. Das geht beindir nicht?


Gesendet von iPhone mit Tapatalk Pro
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

Spezialtrick

Zitat von: andies am 04 Juni 2017, 20:38:41
Ich lasse mir beim load nur 1min anzeigen und das läuft über einen Proxy. Damit diese Linie in Höhe von 1 angezeigt wird. Das geht beindir nicht?


Gesendet von iPhone mit Tapatalk Pro

Leider nicht. Dargestellt wird nur die blaue Gerade allerdings auf der x-Achse.
FHEM - Debmatic - Zigbee2MQTT - Homekit

andies

Dann gehen wir mal durch:

  • Hast Du ein Reading mit dem Eintrag loadavg <und dann drei Zahlen> 0.07 0.02 0.00? Wenn nein, dann wird es nicht erfasst. Die Erfassung wird über ein Attribut erfasst, event-on-update-reading
    cpu_temp,cpu_temp_avg,cpu_freq,wlan0_diff,loadavg,fs_.*,stat_cpu_percent
  • DbLog sollte das dann mitloggen, wenn es so definiert wurde: DEF ./db.conf (sysmon|Stromzaehler):.*
  • Zuletzt stellt sich die Frage der Anzeige. Da habe ich ja den Proxy dazwischen geschaltet. Ich hänge mal den Screenshot an, den ich erhalte, wenn ich zuerst DbLog aufrufe, dann unten die assoziierten wl_sysmon_load anklicke und dann die Grafik selbst sehe. Die lange Zeile, die im Screenshot nicht zu sehen ist, lautet
    DbLog:sysmon:loadavg:1:::$val=~s/[\d.]+\s([\d.]+)\s[\d.]+/$1/
    und sorgt dafür, dass nur der mittlere Eintrag abgebildet wird (das regeln die runden Klammern, die in der Mitte stehen).
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

Spezialtrick

Vielen Dank für deine Hilfe! Ich habe den Fehler gefunden:

Meine DBLog heißt "DBLog" und nicht "DbLog". In der Definition des Graphen hatte ich geändert, aber nicht den Inhalt der längeren, nur teilweise sichtbaren, Zeile.
FHEM - Debmatic - Zigbee2MQTT - Homekit

suchmich1983

Hallo zusammen,
ich versuche mit SYSMON meine Firewall zu überwachen.

Besteht die Möglichkeit dem Modul mitzuteilen, dass es sich nach erfolgreichem Login erst zum superuser machen muss?
Ich kann sehen, dass FHEM sich per Key Auth an der Firewall per ssh einloggt, die abgefragten Befehle allerdings nicht ausgführt werden können, weil nicht im su mode.

Habe dazu leider nichts gefunden!

Danke und Grüße
Christian

kadettilac89

Zitat von: suchmich1983 am 09 Juni 2017, 12:21:26
Ich kann sehen, dass FHEM sich per Key Auth an der Firewall per ssh einloggt, die abgefragten Befehle allerdings nicht ausgführt werden können, weil nicht im su mode.

Habe dazu leider nichts gefunden!
Christian

Ich denke du musst die besagten Befehle dem Fhem-User in der SUDO-Konfiguration zuweisen. Linux Berechtigungskonzept. Mit SU bist du root und das sollte ja durch einen eigenen Fhem-User verhindert werden.

suchmich1983

Das ist ne Blackbox. Ich kann da keinen zusätzlichen User mit Shell-Access anlegen.

Was doch aber geht, ist wenn ich per ssh ein entsprechendes Kommando mitgebe.
An der Shell meines FHEM mache ich folgendes:
ssh loginuser@192.168.1.1 -t "su -"

Ich werde dann erneut nach einem Passwort gefragt und habe direkt superuser Zugriff.

suchmich1983

ich glaube es liegt tatsächlich an den Umgebungsvariablen die dieser loginuser hat.

Kann ich irgendwo sehen, welche Befehle genau von SYSMON ausgeführt werden?