Linux rendszerfelügyelet a sysstat programcsomag használatával
Az egyik legáltalánosabb feladat a rendszergazda számára a kiszolgáló felügyelete és karbantartása. Egy adott pillanatban egyszerű megmondani, milyen állapotban van egy szerver, de hogy lehet ezeket az információkat folyamatosan rögzíteni?
Az egyik módja lehet ezen feladatnak a sysstat programcsomag használata. Ez a csomag egyszerű segédprogramok gyűjteménye, melyek képesek folyamatosan gyűjteni és tárolni a Linux rendszer teljesítménymutatóit.
Installálása egyszerű, Debian rendszer alatt az apt, Red Hat alatt a yum alkalmazás használható a csomag telepítésére:
Installálás után már a rendelkezésünkre is állnak azok a scriptek, melyeket rendszerünk felügyeletére használhatunk. Példaként nézzük a sar (system activity reporter) parancsot. Ha 10 mérést szeretnénk 5 másodpercenként megjeleníteni, akkor a sar 5 10 parancsot adjuk ki.
root@orion:~# sar 5 10 Linux 2.6.22-3-amd64 (orion) 2008-03-15 21.57.18 CPU %user %nice %system %iowait %steal %idle 21.57.23 all 8,77 0,00 1,33 0,00 0,00 89,91 21.57.28 all 7,85 0,00 1,73 0,00 0,00 90,42 21.57.33 all 9,38 0,00 1,33 0,00 0,00 89,30 21.57.38 all 8,76 0,00 2,24 0,31 0,00 88,70 21.57.43 all 9,57 0,00 1,43 0,00 0,00 89,00 21.57.48 all 9,67 0,00 1,83 0,00 0,00 88,49 21.57.53 all 10,17 0,00 1,73 0,00 0,00 88,10 21.57.58 all 10,29 0,00 1,32 0,20 0,00 88,19 21.58.03 all 9,57 0,00 1,43 0,00 0,00 89,00 21.58.08 all 10,90 0,00 2,04 0,00 0,00 87,07 Average: all 9,49 0,00 1,64 0,05 0,00 88,82 root@orion:~#
Rendszerünk kernel információi mellett, itt számos, már jól ismert teljesítménymutató látható. Ahhoz azonban, hogy az adatokat folyamatosan rögzítse a rendszerünk, Debian rendszeren szerkesztenünk kell a /etc/default/sysstat fájlt. Értelemszerűen a ENABLED="false" sort kell megváltoztatni. Ezek után a cron rendszeresen futtatja a megfelelő programokat és a /var/log/sysstat könyvtárban keletkeznek azok az adatfájlok, melyek a rendszerünk teljesítmény adatait tartalmazzák az egész napra vonatkozóan.
Nézzük ezekután a sar parancs kimenetét:
root@ss1:~# sar Linux 2.6.18-5-amd64 (ss1) 2008-03-15 00.00.01 CPU %user %nice %system %iowait %steal %idle 00.05.01 all 0,02 0,02 0,17 0,01 0,00 99,79 00.15.01 all 0,01 0,00 0,15 0,01 0,00 99,83 00.25.01 all 0,01 0,00 0,14 0,01 0,00 99,83 00.35.01 all 0,01 0,00 0,14 0,01 0,00 99,84 . . . 21.35.01 all 0,03 0,00 0,16 0,04 0,00 99,77 21.45.01 all 0,02 0,00 0,16 0,01 0,00 99,81 Average: all 0,02 0,00 0,16 0,01 0,00 99,81 root@ss1:~#
Itt már egy 10 percenként rögzített egész napra vonatkozó adathalmazt kapunk. Ha szeretnénk a mérések sűrűségét növelni, vagy csökkenteni, akkor ezt az /etc/cron.d/sysstat fájlban módosíthatjuk. Mi az, amire itt érdemes figyelni? Elsősorban az %iowait érték. Ha ez túl magas, akkor rendszerünk diszk alrendszere nem képes kiszolgálni rendesen a felhasználói programokat. Mi az, ami azonban ennél is fontosabb egy kiszolgálón? A memória helyzete. Ha gépünk folyamatosan swap-el, akkor bővíteni kell a RAM-ot.
root@mx1:~# sar -W Linux 2.6.18-5-686 (mx1) 2008-03-15 00.00.01 pswpin/s pswpout/s 00.05.01 0,00 0,00 00.15.01 0,00 0,00 00.25.01 0,00 0,00 00.35.01 0,00 0,00 00.45.01 0,00 0,00 . . . 21.55.01 0,00 0,00 22.05.01 0,00 0,00 Average: 0,00 0,00 root@mx1:~#
Itt láthatóan jó a helyzet swap szempontból. Ha közelebbről is érdekel a memória állapota, akkor az sem gond:
root@mx1:~# sar -r Linux 2.6.18-5-686 (mx1) 2008-03-15 00.00.01 kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad 00.05.01 85964 950604 91,71 16320 549092 918048 58584 6,00 47948 00.15.01 87256 949312 91,58 16332 550548 918048 58584 6,00 47948 00.25.01 85568 951000 91,75 16364 552200 918048 58584 6,00 47948 00.35.01 70740 965828 93,18 16376 553448 918048 58584 6,00 47948 00.45.01 65764 970804 93,66 16392 553960 918048 58584 6,00 47948 00.55.01 155616 880952 84,99 16124 453480 918048 58584 6,00 47948 01.05.01 159032 877536 84,66 16164 456052 918048 58584 6,00 47948 01.15.01 154168 882400 85,13 16188 456616 918048 58584 6,00 47948 01.25.01 151652 884916 85,37 16224 457780 918048 58584 6,00 47948 . . . . 22.15.01 123664 912904 88,07 17908 486012 918084 58548 5,99 47912 22.25.01 115848 920720 88,82 17912 490736 918084 58548 5,99 47912 Average: kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad Average: 124468 912100 87,99 18326 467867 918062 58570 6,00 47934
Sokan használják az uptime parancsot a rendszer pillanatnyi terheltségének megállapítására. A sar itt is segít, ha történeti adatokat szeretnénk:
root@mx1:~# sar -q Linux 2.6.18-5-686 (mx1) 2008-03-15 00.00.01 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 00.05.01 0 161 0,18 0,25 0,30 00.15.01 0 127 0,24 0,31 0,28 00.25.01 1 124 0,06 0,22 0,24 00.35.01 5 151 0,27 0,28 0,27 00.45.01 0 167 0,11 0,11 0,17 00.55.01 4 154 0,40 0,57 0,41 01.05.01 0 137 0,02 0,14 0,25 01.15.01 0 137 0,31 0,17 0,18 01.25.01 1 158 0,48 0,24 0,18 01.35.01 0 146 0,15 0,29 0,25 . . . . 21.45.01 0 155 0,56 0,41 0,34 21.55.01 0 146 0,10 0,33 0,34 22.05.01 1 140 0,35 0,49 0,41 22.15.01 0 136 0,06 0,21 0,30 Average: 1 154 0,36 0,33 0,30 root@mx1:~#
Szemmel láthatóan ez nem egy túlterhelt gép, de azért futnak rajta processzek rendesen.
Az elmentett adatokat bármelyik fájlból kiolvashatjuk a -f kapcsoló segítségével, pl.: sar -q -f /var/log/sysstat/sa10.
Nyilván rengeteg egyéb lehetőséget is biztosít számunkra ez a programcsomag. Érdemes tanulmányozni a programokhoz tartozó manual oldalakat. Egy kis fantáziával a kinyert adatokból OpenOffice-ban szép színes diagramokat is készíthetünk.
- A hozzászóláshoz belépés szükséges

Friss hozzászólások
1 év 11 hét
1 év 50 hét
2 év 11 hét
2 év 11 hét
2 év 11 hét
2 év 11 hét
2 év 12 hét
2 év 12 hét
2 év 15 hét
2 év 15 hét