Autor Thema: sysstat  (Gelesen 56851 mal)

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19265
sysstat
« am: 25 Januar 2013, 17:43:34 »
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)
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Fennek

  • Full Member
  • ***
  • Beiträge: 114
Aw: sysstat
« Antwort #1 am: 25 Januar 2013, 18:01:23 »
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

Offline rtv

  • Jr. Member
  • **
  • Beiträge: 87
Aw: sysstat
« Antwort #2 am: 25 Januar 2013, 19:18:20 »
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

Offline Rohan

  • Hero Member
  • *****
  • Beiträge: 1060
  • Bin kein Hero, bin Anwender
    • http://keine
Aw: sysstat
« Antwort #3 am: 25 Januar 2013, 20:37:32 »
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

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19265
Aw: sysstat
« Antwort #4 am: 25 Januar 2013, 21:24:34 »
kommt in einer stunde ...
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Rohan

  • Hero Member
  • *****
  • Beiträge: 1060
  • Bin kein Hero, bin Anwender
    • http://keine
Aw: sysstat
« Antwort #5 am: 25 Januar 2013, 21:43:59 »
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

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19265
Aw: sysstat
« Antwort #6 am: 25 Januar 2013, 23:06:56 »
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
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Tobias

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3661
Aw: sysstat
« Antwort #7 am: 26 Januar 2013, 06:56:44 »
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.
FHEM auf ASRock J3455-ITX im 19" Rack mit Homematic, MAX, PCA301, Panstamp-Sensoren, RPi mit 2x 1wire, RPi mit Text2Speech.
Maintainer der Module: DbLog, Text2Speech, TrashCal, MediaList
Meine Projekte auf https://github.com/tobiasfaust

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19265
Aw: sysstat
« Antwort #8 am: 26 Januar 2013, 09:17:35 »
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
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Rohan

  • Hero Member
  • *****
  • Beiträge: 1060
  • Bin kein Hero, bin Anwender
    • http://keine
Aw: sysstat
« Antwort #9 am: 26 Januar 2013, 18:44:27 »
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

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19265
Aw: sysstat
« Antwort #10 am: 26 Januar 2013, 20:11:55 »
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
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Rohan

  • Hero Member
  • *****
  • Beiträge: 1060
  • Bin kein Hero, bin Anwender
    • http://keine
Aw: sysstat
« Antwort #11 am: 26 Januar 2013, 21:03:01 »
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

Offline ChrisW

  • Hero Member
  • *****
  • Beiträge: 2119
Aw: sysstat
« Antwort #12 am: 26 Januar 2013, 21:08:52 »
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.

Offline Rohan

  • Hero Member
  • *****
  • Beiträge: 1060
  • Bin kein Hero, bin Anwender
    • http://keine
Aw: sysstat
« Antwort #13 am: 26 Januar 2013, 21:17:45 »
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

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19265
Aw: sysstat
« Antwort #14 am: 26 Januar 2013, 22:31:07 »
ja. schaut eigentlich alles ok aus. hast du auch keine readings im web frontend ?

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

 

decade-submarginal