Performanceanalyse mit sar

Installation

Das Paket sysstat muss für die Nutzung von sar auf dem entsprechenden System installiert sein. Weiterhin muss ein Cronjob auf dem System eingerichtet werden, damit sar auch die Performancedaten auf dem entsprechenden System sammeln kann. Das Paket bringt die Cron-Konfigurationdateien für sar mit und legt diese im Verzeichnis /etc/sysstat/ (kann variieren). Einige Installationen legen die Cron-Konfigurationdateien schon im Verzeichnis /etc/cron.d/sysstat ab. Findet ihr die Konfigurationsdateien nicht, kann euch find /etc/ -name 'sysstat' -ls bei der Suche helfen. Entsprechende Dokus zu der jeweiligen Distribution helfen sicher auch.

Wichtig: Unter Ubuntu und Debian muss sar in der Config aktiviert werden.

In den Configfiles können auch die Aufbewahrungsfristen der SAR-Files, sowie die Kompression eingerichtet werden.

Auswertung

Hat sar Zeit genug investiert, um Auswertungen fahren zu können, können über entsprechende Befehle die Performancedaten ausgewertet werden: Über die Parameter -s [ hh:mm:ss ]und -e [ hh:mm:ss ] lassen sich die Start- und Endzeitpunkte einschränken.

sar -P ALL -f FILE wertet die CPU Auslastung aus.

[localhost ~]# sar -P ALL -f /var/log/sa/sa30
Linux 2.6.32-504.el6.x86_64 (localhost.localdomain.local)        08/30/2016      _x86_64_        (24 CPU)
12:00:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
12:10:01 AM     all      0.61      0.00      0.10      0.00      0.00     99.29
12:10:01 AM       0      1.24      0.00      0.13      0.01      0.00     98.62
12:10:01 AM       1      1.11      0.00      0.13      0.00      0.00     98.76
12:10:01 AM       2      0.39      0.00      0.04      0.00      0.00     99.57
12:10:01 AM       3      0.12      0.00      0.06      0.00      0.00     99.82

sar -r gibt Auskunft über die RAM-Auslastung

[localhost ~]# sar -r
Linux 2.6.32-504.el6.x86_64 (localhost.localdomain.local)        09/21/2016      _x86_64_        (24 CPU)
12:00:01 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
12:10:01 AM   1130288  64709056     98.28    409524   3259532  15275420     16.06
12:20:01 AM   1151944  64687400     98.25    409904   3268520  15035296     15.81
12:30:01 AM    986544  64852800     98.50    410628   3280868  15236812     16.02
12:40:01 AM   1119692  64719652     98.30    411084   3289328  15033256     15.80

sar -q gibt Auskunft über die Load Average

 sar -q
Linux 2.6.32-504.el6.x86_64 (localhost.localdomain.local)        09/21/2016      _x86_64_        (24 CPU)
12:00:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
12:10:01 AM         5      2406      3.83      4.10      4.01
12:20:01 AM         3      2374      5.01      4.33      4.06
12:30:01 AM         5      2382      5.68      5.36      4.76
12:40:01 AM         6      2374      4.86      5.09      4.90
12:50:01 AM         5      2366      3.95      4.89      4.97

sar -b Anzeige der I/O Transfer Rate

sar -b
Linux 2.6.32-504.el6.x86_64 (localhost.localdomain.local)        09/21/2016      _x86_64_        (24 CPU)
12:00:01 AM       tps      rtps      wtps   bread/s   bwrtn/s
12:10:01 AM   3646.46   2977.13    669.33 1599307.18  57903.85
12:20:01 AM   3245.80   2819.17    426.63 2056453.53  16072.15
12:30:01 AM   3955.01   3574.09    380.92 2942349.39  15947.53
12:40:01 AM   3388.08   3058.67    329.40 2556103.25   9974.61
12:50:01 AM   3822.75   3439.04    383.71 2620442.12  18217.56

sar -n DEV Netzwerkstatistik

sar -n DEV
Linux 2.6.32-504.el6.x86_64 (localhost.localdomain.local)        09/21/2016      _x86_64_        (24 CPU)
12:00:01 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
12:10:01 AM        lo    739.45    739.45    166.14    166.14      0.00      0.00      0.00
12:10:01 AM      eth0   1574.93   9841.77    255.60  13465.45      0.00      0.00      0.00
12:10:01 AM      eth1   1988.50   1632.92   1261.40    834.06      0.00      0.00      0.00
12:10:01 AM      eth2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
12:10:01 AM      eth3      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Human-Readable

Um die Werte einfach und vorallem schneller überblicken zu können, empflieht sich das kleine Java-Tool kSar. Hier kann man die Daten: - importieren, - anschauen und interpretieren, - exportieren

Dazu müssen die Daten auf dem Quellsystem exportiert werden. Dazu kann man einfach den folgenden Befehl nutzen. LC_ALL=C sar -A > /tmp/sar.data.txt LC_ALL=C passt die Standardausgabesprache an und macht die Textdatei für kSar lesbar. Sonst kann es unter umständen die Daten nicht importieren.

Beispielbild aus kSar