Mit dem Heftschwerpunkt 'IT-Support & Troubleshooting' startet IT-Administrator ins neue Jahr. Dabei zeigen wir Ihnen, auf welchem Weg Sie Ihr eigenes ... (mehr)

Daten abfragen und aufzeichnen

Für eine Ad-hoc-Analyse rufen Sie sar wie iostat interaktiv auf der Kommandozeile auf. Samples und Intervall bestimmen auch hier, wieviele Datensätze in welchen Abständen sar auf die Standardausgabe schreibt. Das folgende Beispiel gibt Daten über den CPU-Verbrauch aus – drei Datensätze im Abstand von zwei Sekunden (Listing 5).

Listing 5: sar misst CPU-Verbrauch



$ sar -u 2 3
Linux 3.13.0-36-generic (X220)         2014-10-05         _x86_64_    (4 CPU)
13:15:58      CPU      %user      %nice      %system     %iowait     %steal      %idle
13:16:00      all          7,91         0,00         1,38            0,00           0,00          90,70
13:16:02      all          5,56         0,00         1,39            0,00           0,00          93,06
13:16:04      all          5,42         0,00         0,88            0,00           0,00          93,70
Average:      all          6,30         0,00         1,22            0,00           0,00          92,49

Der zweite Weg führt über eine binäre Ausgabedatei, deren Werte später mit dem sar-Kommando extrahiert werden. Sie erhalten in der binären Datei zunächst alle Werte, die sar abfragen kann. Der Befehl

sar -o sar.out 5 >/dev/null 2>&1

zeichnet im Fünf-Sekunden-Intervall alle Statistiken in der binären Datei sar.out auf. Die Option "-o" bewirkt übrigens, dass sar alle Daten sammelt. Dem Data Collector sadc wird nämlich die Option "-S ALL" übergeben. Im Analyse-Schritt schränken Sie den abzufragenden Bereich dann einfach ein (Listing 6). Der Fokus liegt hier nur auf dem Traffic der Netzwerk-Interfaces. Aus derselben Datei lassen sich genauso gut I/O-Transferraten abfragen (Listing 7). Welche Bereiche sar abdeckt, zeigt eindrucksvoll Bild 1, eine Grafik von Brendan Gregg [4].

Listing 6: sar-Analyse



$ sar -n  DEV  -f  sar.out
Linux 3.13.0-36-generic (X220)      2014-10-10      _x86_64_      (4 CPU)
16:40:49      IFACE      rxpck/s      txpck/s      rxkB/s      txkB/s      rxcmp/s      txcmp/s      rxmcst/s      %ifutil
16:40:54      ppp0         2,60           2,80           0,23         0,18         0,00            0,00           0,00             0,00
Bild 1: Das Werkzeug sar deckt viele Bereiche ab, die bei einer Performance-Analyse interessant sind.

sadc

Sar besitzt nicht nur den interaktiven Modus, sondern zeichnet Daten auch über längere Zeit hinweg auf. Das ist besonders hilfreich, um die Auswirkungen von regelmäßigen Änderungen an einem System zu dokumentieren. Am besten richten Sie sadc gleich zu Beginn einer System-Laufbahn ein, da dann Daten zur Baseline-Performance bereitstehen.

Später wird sadc über cron regelmäßig aufgerufen. Unter Ubuntu genügt es in der Datei /etc/default/sysstat den Parameter auf ENABLED="true" zu ändern. Nach einem Neustart von sysstat über

$ sudo service sysstat restart

startet der Data Collector. Im Hintergrund sind über cron zwei Skripte aktiv geworden:

1. sa1, definiert in »/etc/cron.d/sysstat« , steuert sadc alle zehn Minuten zur Datensammlung an.

2. sa2, definiert in »/etc/cron.daily/sysstat« , generiert täglich über sar aus den Binärdaten einen Report.

Die eigentlichen Performance-Daten, generiert von den beiden Skripten, verweilen im Verzeichnis /var/log/sysstat. Die Form der Dateien saX und sarX kennzeichnen über X den Tag der Aufzeichnung. Standardmäßig bewahrt sadc diese Log-Dateien rückwirkend sieben Tage auf, dieses Intervall lässt sich in der Datei »/etc/sysstat/sysstat« vergrößern.

Listing 7: sar misst I/O-Transfer



$ sar -b -f sar.out
Linux 3.13.0-36-generic  (X220)      2014-10-05      _x86_64_    (4 CPU)
13:26:21      tps         rtps         wtps      bread/s      bwrtn/s
13:26:26      90,40     87,20      3,20      900,80       267,20
13:26:31      1,20       0,00        1,20      0,00           67,20
comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023