sar Bearbeiten

Allgemeines Bearbeiten

sar, der system activity reporter, dient unter Unix der Aufzeichnung und Auswertung diverser Informationen zur Systemaktivität. Er besteht inzwischen aus 3 Programmen:

  1. sar - Collect, report, or save system activity information.
  2. sadc - System activity data collector.
  3. sadf - Display data collected by sar in multiple formats.

Typischerweise zeichnet man die Daten mit sadc auf und wertet den dabei entstandenen File später mit sar (als Liste) oder sadf (als Graphik) aus.

Installation Bearbeiten

sar ist ein Teil von [sysstat], einer Sammlung von Monitoring Tools für Linux.

Wenn man die Ergebnisse graphisch darstellen will (als SVG), muss man mindestens die Version 11.2.1.1 installieren: Man lade sich das passende RPM-Paket nach /tmp herunter von http://sebastien.godard.pagesperso-orange.fr/download.html

Wandle dieses mittels "alien" in ein Debian-Paket und installiere es:

user> sudo apt-get install alien
user> sudo alien sysstat-11.3.3-1.x86_64.rpm
user> sudo dpkg -i sysstat_11.3.3-2_amd64.deb


Daten sammeln mit sadc Bearbeiten

sadc (system activity data collector) ist der Datensammler für sar und seine Verwandten. Wenn man noch nicht genau weiss, was man untersuchen will, lasse man alles (XALL) aufzeichnen:

user>/usr/lib64/sa/sadc  -S XALL 1 60  /tmp/sadc-all
Parameter Erklärung
-S XALL spezifiziert die einzusammelnden Aktivitäten: alle
1 jede Sekunde werden die Daten eingesammelt
60 60 Mal (count) werden Daten eingesammelt
/tmp/sadc-all in diese Datei wird die Sammlung geschrieben

Alle Daten (XALL) eines Zeitpunktes belegen ca. 21kB auf der Platte.

Wenn man die Daten über einen vorher nicht bekannten Zeitraum aufzeichnen will, setzte man den Counter (60 im obigen Beispiel) sehr hoch an und kille den Befehl, wenn man genug hat:

user>killall sadc

Es gehen dabei keine Werte der Aufzeichnung verloren.



Auflistung der gesammelten Daten mit sar Bearbeiten

Mit sar kann man aus der aufgezeichneten Datensammlung gezielt die Werte für Subsysteme (im folgenden Beispiel für das Netzwerk) herausholen:

user> sar -f  /tmp/sadc-all  -n DEV

Linux 3.13.0-80-generic (host)  	12.04.2016 	_x86_64_	(4 CPU)

16:40:08        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
16:40:09         eth0     20.00      0.00      2.09      0.00      0.00      0.00      1.00      0.00
16:40:09           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
16:40:10         eth0     45.00      1.00      4.05      1.15      0.00      0.00      1.00      0.00
16:40:10           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
16:40:11         eth0     26.00      9.00      2.20      0.84      0.00      0.00      1.00      0.00
Parameter Erklärung
-f /tmp/sadc-all aus dieser Datei werden die Daten gelesen
-n DEV network statistics für alle Devices

Die Hilfe zeigt in Kurzform an, welche Daten man wie extrahieren kann:

user> sar -h

Die man page ist ausführlicher.


Visualisierung der gesammelten Daten mit sadf Bearbeiten

sadf (system activity data formatter) kann die eingesammelten Daten in diversen Formaten ausgeben, um z.B. Datenbanken zu füttern oder Bilder zu erzeugen. Man kann gezielt nur einzelne Daten herausziehen.

Es werden 2 Bilder im SVG-Format erzeugt aus den oben eingesammelten Daten, die alle Daten (-A) bzw. die Auslastung aller CPUs (-P ALL) zeigen:

user> sadf -g  /tmp/sadc-all  -- -A      >/tmp/sar-all.svg
user> sadf -g  /tmp/sadc-all  -- -P ALL  >/tmp/sar-cpus.svg
Parameter Erklärung
-g /tmp/sar-*.svg Aus Daten dieses Files (/tmp/sar-*) wird die Graphik erzeugt.
-- danach folgen die sar-Parameter
-A sar-Option für all, d.h. alle eingesammelten Werte werden in dem SVG-File visulisiert.
-P ALL Die Auslastung aller CPUs wird in dem SVG-File visulisiert.

Wenn man nun die URLs file:///tmp/sar-all.svg, file:///tmp/sar-cpus.svg seinem Browser übergibt, kann man in diesem die SVGs betrachten.


Siehe auch Bearbeiten


To-Do:

ergänzen: sar, Bilder