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

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

Vorheriges Thema - Nächstes Thema

hexenmeister

Hallo Stefan,

Du hast völlig recht. Ich habe irgendwann die Möglichkeit eingebaut, diese Readings zu benennen. Da bei mir sie immer so heißen, wie auch die Schnittstelle selbst, habe ich nie den Fehler gemerkt. Und auch niemand anders vor Dir. Bist wohl der einzige Nutzer davon. ;)
Ich habe die Stelle korrigiert und werde dann heute oder morgen die Version einchecken.
Vielen Dank für die vollständige Fehleranalyse!


Viele Grüße,

Alexander

kadettilac89

Hallo,

... ich weiß nicht ob sies wussten .. :)

Im Plot zur CPU werden nicht alle Linien angezeigt. Da ich noch gerne CPU over all sehen möchte hab ich mir noch ein weiteres Feld mit der Summe aller Einzelwerte im Modul eingefügt. Dabei ist mir aufgefallen, dass das "value"-Feld nur 32 char lang ist. Das ist zu kurz wenn alles in ein Feld eingefügt wird. Ich verwende DBLog.

Hier zwei Beispiele aus meiner Datenbank
event: stat_cpu_text: user: 68.27 %, nice: 1.08 %, sys: 4.84 %, idle: 25.67 %, io: 0.00 %, irq: 0.01 %, sirq: 0.12 %
reading: stat_cpu_text
value: user: 68.27 %, nice: 1.08 %, sys .. abgeschnitten nach 32 char

event: stat_cpu_percent: 4.72 0.00 1.04 93.35 0.05 0.01 0.84 6.65
reading: stat_cpu_percent
value: 4.72 0.00 1.04 93.35 0.05 0.01 0 ... abgeschnitten

Ich hab als (vorläufige) Lösung das Feld auf 50 char erweitert.

Default
Tabelle current + history
        6   VALUE   varchar(32)   utf8_bin
neu    6   VALUE   varchar(50)   utf8_bin

Ist es möglich, die Werte evlt. in zwei verschiedene Events aufzuteilen? Ich hab nicht alle Werte in den Readings, vielleicht ist es auch noch woanders der Fall.

Viele Grüße

hexenmeister

Da diese Werte zusammen gehören und aus Kompatibilitätsgründen - ungerne.
Du kannst die aber selbst mit userReadings in zwei neue aufteilen. Oder auch gleich dort so aufbereiten, wie du die später brauchst. Die Aufteilung halte ich nicht für eine gute Lösung. So oder so. DB-Änderung ist dagegen sauber.

volschin

Dank SYSMON, weiß ich jetzt auch welche Auswirkungen ein um 0:00 Uhr abgeschaltetes NAS auf den Load des RPi bei existierendem NFS-Mount hat, ohne dass Daten übertragen werden. Da sollte ich mir wohl was einfallen lassen.  :o
Intel NUC+Ubuntu 24.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 7690, Echo Dots+Show8, HomeBridge

hexenmeister

Uih, das Teil läuft ja unter Vollast... Da ist in der Tat ein Handlungsbedarf :(

justme1968

load 1 heißt nicht das die cpu die ganze zeit etwas tut sondern das ein Prozess die ganze zeit bereit ist etwas zu tun. in diesem fall wartet vermutlich ein prozess das er endlich auf den synchronen nfs mount zugreifen kann.

wenn es nicht gerade FHEM ist und die cpu temperatur nicht ebenfalls steigt ist das ganze nicht unbedingt kritisch sondern works as designed.

je nach dem was das für ein prozess ist kannst async minuten oder den prozess vor dem nas anhalten runterfahren. kannst es ja mit fhem automatisieren :)
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

volschin

Danke, für den Tipp. Auswirkungen bzgl. der Temperatur hat es nicht.  :)

Insofern kann ich es etwas entspannt angehen und mir in Ruhe überlegen, wie ich das am Besten löse. Ich nutze den NFS-Mount derzeit nur für Backups. Damit könnte ich ihn auch ins Backup-Script einbauen und auch den abschließenden umount.
Intel NUC+Ubuntu 24.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 7690, Echo Dots+Show8, HomeBridge

volschin

Alexander hatte ja bereits mal seinen Screenshot der FB-Netzwerkinterfaces gepostet. So richtig verstanden habe ich damals nicht, was wofür relevant ist.  :(

Für alle, denen es ähnlich geht, hier ein Link auf eine gute Erklärung.

Gruß
Veit
Intel NUC+Ubuntu 24.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 7690, Echo Dots+Show8, HomeBridge

volschin

Hi zusammen,
ich wollte mir gern noch die Perl-Version in die Readings einbauen.

Bekommt man mit
$]

Habe ich aber nicht hinbekommen, lediglich der Umweg
perl -e 'print $];'
funktionierte.

Jemand eine Idee, wie es einfacher geht, wenn man schon in Perl ist?

Gruß,
Veit
Intel NUC+Ubuntu 24.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 7690, Echo Dots+Show8, HomeBridge

hexenmeister

#474
Zitatmy $t = "$]";
geht doch...

Edit: schnell in der Console ausprobiert:
fhem> {my $t = "$]";;}
5.014002


Wenn Du magst, kann ich so ein Reading in SYSMON einbauen...


hexenmeister


volschin

Ich bin gerade bei dem Versuch die Überwachung für meinen Gerätepark zu zentralisieren. Leider habe ich mir das wohl zu einfach vorgestellt.

Hier mein Code:
define F2F_FB FHEM2FHEM 192.168.2.1:7072 LOG:FB_.*
attr F2F_FB group Logger
attr F2F_FB room Zentrale
define FB_sysmon_remote cloneDummy FB_sysmon
define FB_SysValues weblink htmlCode {SYSMON_ShowValuesHTML('FB_sysmon_remote')}


Die Daten, für die Events generiert werden, werden auch perfekt in den cloneDummy eingespielt. Leider werden die Daten zumindest zum Teil durch das HTML neu lokal erzeugt, anstatt sie aus dem cloneDummy zu ziehen.

Mache ich was falsch?

Gruß,
Veit
Intel NUC+Ubuntu 24.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 7690, Echo Dots+Show8, HomeBridge

hexenmeister

falsch nicht,.. nur nicht richtig  ;D
im ernst, die Methode SYSMON_ShowValuesHTML zieht die Daten aus der lokalen SYSMON-Instanz, aus deren internen Strukturen. Mit CloneDUmmy kann sie leider nichts anfangen... Ich will man nachdenken, ob man das irgendwie hinbekommnt, mir fehlt aber noch leider jeglicher Ansatz.
Obwohl... Dir geht es doch nur um die formatierte Ausgabe, oder? Vielleicht kann ich irgendwie die Readings des Dummy als Datenquelle verfrüstucken...

hexenmeister

@volschin

Probiere morgen (nach dem Update) noch einmal. Die neue Version liest jetzt SYSMON-Readings auch aus CloneDummy.
Außerdem gibt es auch ine Methode (SYSMON_ShowValuesHTMLTitled(<instance>,<title>[,<list>])), die über den Daten auch einen Überschrift anzeigen kann.

Beispiel:
(http://forum.fhem.de/index.php?action=dlattach;topic=17201.0;attach=19304;image)

# SYSMON
define SysValues weblink htmlCode {SYSMON_ShowValuesHTMLTitled('sysmon','<b>CubieTruck</b>')}

# CloneDummy (Werte aus dem SYSMON auf FB)
define fb_sysmon cloneDummy sysmon_fb
attr fb_sysmon event-on-change-reading .*

# SYSMON auf FB (angebunden per FHEM2FHEM)
define SysValuesFB weblink htmlCode {SYSMON_ShowValuesHTMLTitled('fb_sysmon', '<b>FritzBox 7490</b>', ('date:Date','uptime_text:System up time','fhemuptime_text:FHEM up time','idletime_text:Idle','loadavg:Load average','ram:RAM','swap:swap','fs_nand:NAND','fs_var:/var','fs_usb1:USB','fs_online:Online','internet_state:Internet','internet_ip:IP','wlan_state:WLAN','wlan_guest_state:Guest WLAN'))}



volschin

Das ist wieder das Werk eines Hexenmeisters. Geschwindigkeit ist Zauberei.  ;D

Ich habe leider gerade noch ein Stabilitätsproblem dessen Ursache aber nicht sysmon zu sein scheint.

Bei der Problemanalyse ist trotzdem das rausgepurzelt:
Use of uninitialized value $val_txt in string at ./FHEM/42_SYSMON.pm line 1104.

Wie gesagt, ist aber anscheinend nicht die Ursache meines Problems, aber vielleicht schaust Du mal bei Gelegenheit drauf.

Gruß
Veit
Intel NUC+Ubuntu 24.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 7690, Echo Dots+Show8, HomeBridge