sysstat

Begonnen von justme1968, 25 Januar 2013, 17:43:34

Vorheriges Thema - Nächstes Thema

justme1968

hallo zusammen,

hier ein kleines modul um die systemlast unter linux zu überwachen. es ist nebenbei als abfallprodukt entstanden ist. vielleicht findet es ja jemand nützlich. zur zeit wird nur die load ausgewertet. mit dem zugrundeliegenden modul Sys::Statistics::Linux (das vorher installiert werden muß) lässt sich das ganze noch auf viele andere parameter ausweiten.

gruss
  andre


(siehe Anhang / see attachement)
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Fennek

Großartig

Du bist ein Guter :-)
FHEM Cubietruck mit 50GB SSD
HMLAN: TC,VD,DN,DIM,SW,SEC,TH
HUEBridge, HUEDevice:LCT,LLC
Sonos: 5xPL1,2xPB,2xSUB
iBeacon's

rtv

Vielen Dank!

Hier mal eine Beispielkonfiguration zum Guttenbergen:

define PogoPlug SYSSTAT
attr PogoPlug room System

define FileLog_PogoPlug FileLog ./log/PogoPlug-%Y-%m.log PogoPlug
attr FileLog_PogoPlug archivedir ./archive/
attr FileLog_PogoPlug logtype sysstat:Plot,text
attr FileLog_PogoPlug nrarchive 1
attr FileLog_PogoPlug room System

define Stats_PogoPlug weblink fileplot FileLog_PogoPlug:sysstat:CURRENT
attr Stats_PogoPlug alias Systemlast
attr Stats_PogoPlug group Plots
attr Stats_PogoPlug label "Systemlast von PogoPlug Min: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
attr Stats_PogoPlug room Statistik

Rohan

Hallo Andre,

Danke für das Modul.

hallo rtv,

Danke für die Guttenkopievorlage.

Habs gerade installiert, musste aber, da das Perl-Modul Sys::Statistics::Linux nicht in den Repositorys meiner Distri vorhanden war, dieses von CPAN als Source downloaden. Nach dem anschließenden entpacken und Wechsel ins entsprechende Verzeichnis brachte ein

# perl Makefile.PL

die Meldung:

Checking if your kit is complete...
Looks good
Warning: prerequisite UNIVERSAL::require 0 not found.
Writing Makefile for Sys::Statistics::Linux
Writing MYMETA.yml and MYMETA.json


Das oben als fehlend gemeldete Modul UNIVERSAL::require konnte ich über das Repository meiner Distri installieren, also noch mal:

perl Makefile.PL
make
make test


lief ohne Probs durch, also zum Finale:

make install.

Jetzt den Gutt... gemacht, die Konfig von rtv in die fhem.cfg eingespielt, angepasst und ... Bingo...

Jetzt fehlt mir nur noch die Angabe des freien Speicherplatzes auf meiner etwas knapp bemessenen SD-Karte, also von "/" ;)

# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          3,1G  1,8G  1,1G  62% /
devtmpfs        218M   36K  217M   1% /dev
tmpfs           246M  4,0K  246M   1% /dev/shm
tmpfs           246M  1,2M  245M   1% /run
/dev/mmcblk0p2  3,1G  1,8G  1,1G  62% /
tmpfs           246M     0  246M   0% /sys/fs/cgroup
tmpfs           246M  1,2M  245M   1% /var/run
tmpfs           246M     0  246M   0% /media
tmpfs           246M  1,2M  245M   1% /var/lock
/dev/mmcblk0p1  143M   54M   82M  40% /boot


Der Umzug auf eine größere Karte ist für den kommenden Sommer, sobald die Heizperiode beendet ist, bereits auf Termin, aber ...

Gruß
Thomas
Fhem auf Mini-ITX mit Celeron 2-Core, HMLAN (> 55 Devices), CUL (FS20 und EM), RFXtrx 433E, Arduino (einige DS18B20), RPi mit 1-Wire (DS2423 für S0-Signale, DS18B20+), RPi/Arduino mit MQ-5 und MQ-9 (CO- und CNG/LPG-Sensor), CO-20 IAQ Sensor

justme1968

kommt in einer stunde ...
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Rohan

Mach dir bloß keinen Stress.

Gruß
Thomas
Fhem auf Mini-ITX mit Celeron 2-Core, HMLAN (> 55 Devices), CUL (FS20 und EM), RFXtrx 433E, Arduino (einige DS18B20), RPi mit 1-Wire (DS2423 für S0-Signale, DS18B20+), RPi/Arduino mit MQ-5 und MQ-9 (CO- und CNG/LPG-Sensor), CO-20 IAQ Sensor

justme1968

wie versprochen ...

die mount points müßen noch von hand im code geändert werden.

ich baue das irgendwan mal um das es konfigurierbar ist. und auch das Intervall sollte denke ich für das filesystem größer sein.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Tobias

sehr schön :)
würde mir allerdings wünschen das die Mountpoints automatisch ausgelesen werden.
Bei mir funzt es zb. nicht da ich keine Fritzbox sondern ein Standard Debian habe.
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

justme1968

das automatisch auslesen ist deshalb nicht drin weil auf sehr vielen systemen wie meinem nas die liste sehr lang waere und mindestens 80% davon nicht interessieren. man könnte die liste der anzuzeigenden filesysteme auf reguläre ausdücke umstellen und als default alles anzeigen was ein gerät unter /dev hat ider wirklich alles.

gruß
   andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Rohan

Hi andre,

Zitat von: justme1968 schrieb am Fr, 25 Januar 2013 23:06... die mount points müßen noch von hand im code geändert werden.

Hmmmm...

Irgendwie hab ich das nicht so mit Perl.


  my @filesystems = ();
  push( @filesystems, '/dev/md0' );
  push( @filesystems, '/dev/md2' );



Ich hab jetzt /dev/md0 gegen /dev/mmcblk0p1 und /dev/md2 gegen /dev/mmcblk0p2 (sind bei mir /boot und /) gewechselt, aber er liest mir immer noch nur den "load" aus (in der log-Datei).

Den Plot kann ich selber anpassen.

Kannst du mir mal auf die Sprünge helfen?

Danke und Gruß
Thomas
Fhem auf Mini-ITX mit Celeron 2-Core, HMLAN (> 55 Devices), CUL (FS20 und EM), RFXtrx 433E, Arduino (einige DS18B20), RPi mit 1-Wire (DS2423 für S0-Signale, DS18B20+), RPi/Arduino mit MQ-5 und MQ-9 (CO- und CNG/LPG-Sensor), CO-20 IAQ Sensor

justme1968

so sollte es eigentlich gehen.

ein paar ideen zum fehler finden:

- mach mal bitte ein df -P und schau ob die devices auch wirklich so heißen.
- schau in /bin ob es da ein df gibt
- ruf mal das kleine test.pl von hand mit 'perl test.pl' auf und schau wie die devices heißen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Rohan

Zitat von: justme1968 schrieb am Sa, 26 Januar 2013 20:11- mach mal bitte ein df -P und schau ob die devices auch wirklich so heißen.

# df -P
Filesystem     1024-blocks    Used Available Capacity Mounted on
rootfs             3163640 1868444   1134652      63% /
devtmpfs            222232      36    222196       1% /dev
tmpfs               251424       4    251420       1% /dev/shm
tmpfs               251424    1160    250264       1% /run
/dev/mmcblk0p2     3163640 1868444   1134652      63% /
tmpfs               251424       0    251424       0% /sys/fs/cgroup
tmpfs               251424    1160    250264       1% /var/run
tmpfs               251424       0    251424       0% /media
tmpfs               251424    1160    250264       1% /var/lock
/dev/mmcblk0p1      145424   54535     83209      40% /boot


Zitat- schau in /bin ob es da ein df gibt

ist ein Link auf /usr/bin/df

# cd /bin
# ls df -l
lrwxrwxrwx 1 root root 11 Okt 29 16:55 df -> /usr/bin/df


Die Rechte sind mMn auch passend.

Zitat- ruf mal das kleine test.pl von hand mit 'perl test.pl' auf und schau wie die devices heißen.

# perl test.pl
$VAR1 = bless( {
                 'diskusage' => {
                                  'tmpfs' => {
                                               'usage' => '1160',
                                               'free' => '250264',
                                               'usageper' => '1',
                                               'mountpoint' => '/var/lock',
                                               'total' => '251424'
                                             },
                                  '/dev/mmcblk0p1' => {
                                                        'usage' => '54535',
                                                        'free' => '83209',
                                                        'usageper' => '40',
                                                        'mountpoint' => '/boot',
                                                        'total' => '145424'
                                                      },
                                  'devtmpfs' => {
                                                  'usage' => '36',
                                                  'free' => '222196',
                                                  'usageper' => '1',
                                                  'mountpoint' => '/dev',
                                                  'total' => '222232'
                                                },
                                  'rootfs' => {
                                                'usage' => '1868444',
                                                'free' => '1134652',
                                                'usageper' => '63',
                                                'mountpoint' => '/',
                                                'total' => '3163640'
                                              },
                                  '/dev/mmcblk0p2' => {
                                                        'usage' => '1868444',
                                                        'free' => '1134652',
                                                        'usageper' => '63',
                                                        'mountpoint' => '/',
                                                        'total' => '3163640'
                                                      }
                                }
               }, 'Sys::Statistics::Linux::Compilation' );


Hmmm... scheint alles korrekt zu sein.

Hilft dir das irgendwie?

Gruß
Thomas
Fhem auf Mini-ITX mit Celeron 2-Core, HMLAN (> 55 Devices), CUL (FS20 und EM), RFXtrx 433E, Arduino (einige DS18B20), RPi mit 1-Wire (DS2423 für S0-Signale, DS18B20+), RPi/Arduino mit MQ-5 und MQ-9 (CO- und CNG/LPG-Sensor), CO-20 IAQ Sensor

ChrisW

da ärgere ich mich wieder das ich Fhem unter Win am laufen habe ;D Hätte sowas auch gerne.
Raspberry PI3 mit allem möglichen.

Rohan

Hi Chris,

nicht ärgern... RPi kaufen und du hast / kannst alles ;)

Gruß
Thomas
Fhem auf Mini-ITX mit Celeron 2-Core, HMLAN (> 55 Devices), CUL (FS20 und EM), RFXtrx 433E, Arduino (einige DS18B20), RPi mit 1-Wire (DS2423 für S0-Signale, DS18B20+), RPi/Arduino mit MQ-5 und MQ-9 (CO- und CNG/LPG-Sensor), CO-20 IAQ Sensor

justme1968

ja. schaut eigentlich alles ok aus. hast du auch keine readings im web frontend ?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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