Open Source im professionellen Einsatz

Abbildung 1: Von links nach rechts zeigt das Tool Ksar den I/O-Durchsatz eines wenig beschäftigten Mailservers, der Postfächer abklappert und Spam-Checks durchführt, eines mächtigen Fileservers für 100 Mitarbeiter, der nachts sein Backup erledigt und ab 8 Uhr die Mitarbeiter versorgt, sowie eines Desktop-Rechners.

Sar, Pidstat & Co.: Das Sysstat-Paket

Prozess auf Takt

,

Die Sysstat-Tools um Sar, Iostat, Mpstat und Pidstat erfassen Systemparameter und berechnen Statistiken - seit Version 8 erstmals auch die von einem einzelnen Prozess verursachte I/O-Last.

Jeder Admin kennt das Szenario: Der Server schwächelt oder versagt den Dienst. Bleibt die schnelle Suche nach Fehlern in Logfiles, unter »/proc« oder mit Tools wie Vmstat oder Top erfolglos, dann ist Sysstat gefragt. Das Statistik-Werkzeug sammelt zwar die Systeminformationen ebenfalls aus diesem Verzeichnis, speichert sie aber für einen frei definierbaren Zeitraum und stellt sie für Auswertungen über Durchschnittswerte, Grafiken oder die Abfrage einzelner Systemparameter zu einen bestimmten Zeitpunkten wieder zur Verfügung.

Dabei bietet es umfangreiche Details, aber am meisten werden sich Unix-Administratoren über die Optionen von Pidstat freuen. Da kann der Admin endlich wie auf anderen großen Unixen die I/O-Last pro Prozess abfragen und überwachen. Weil dafür eine spezielle Kerneloption notwendig ist, können das alte Distributionen nicht. Erst Ubuntu Hardy glänzt damit, bei Open Suse braucht es Version 11 oder wie sonst überall einen angepassten Kernel, damit die vom Entwicklerteam um Sebastien Godard gerade veröffentlichte Sysstat-Version 8 mit allen Optionen läuft.

Viele Fähigkeiten

Iostat, Pidstat, Sar und Konsorten geben auf unterschiedliche Weise Auskunft über eine ganze Reihe von Statistiken, die das System gesammelt hat:

  • Input/Output- und Transferraten: global, nach Gerät,
    Partition, NFS-Laufwerk, Prozess-ID oder gleichlautenden
    Prozessnamen
  • CPU-Nutzung: global, pro CPU oder nach Prozess
  • Virtueller und realer Arbeitsspeicher sowie die Nutzung der
    Swapdateien
  • Paging, Speichernutzung und Pagefault-Anzahl: global, für
    einzelne Prozesse oder Prozessbäume, also einen Prozess und
    alle seine Kinder
  • Geschwindigkeit, mit der das System neue Prozesse
    generiert
  • Anzahl der Interrupts: global, pro CPU, Interrupt oder
    APIC-Quellen
  • Netzwerk-Interfaces
  • NFS-Server und -Clients
  • Sockets
  • Runqueue und die Systemload
  • Interne Kerneltables
  • Menge der Context Switches
  • Aktivität auf den TTYs

Die Informationen, die die Tools liefern, sind in der Regel in die Kategorien Speicher, Netzwerk, Prozessor(en), CPU und I/O eingeteilt. Bei Pidstat gibt die Option »-d« zum Beispiel die I/O-Last aus, »-r« die Pagefaults und »-u« die CPU-Nutzung, »-w« die Task Switching Activity des Kernels. Sar und Iostat haben darüber hinaus Schalter eingebaut, um die Daten von Netzwerk-Filesystemen anzuzeigen, mit Sar kann der Admin auch die Nutzung der TTY-Konsolen überwachen.

Linux-Urgesteine mögen jetzt monieren, das meiste davon ginge ja schon mit Bordmitteln, jeder Administrator könne mit Awk die Load Average über einen beliebigen Zeitraum berechnen lassen. Dafür braucht er nur ein wenig Shell-Wissen und die Daten aus dem Proc-Dateisystem (Abbildung 2). Das ist sicherlich richtig, aber mit dem Allround-Tool Sar aus dem Sysstat-Paket [1] geht das deutlich einfacher: Ein »sar -q P0 120 2« zeigt Queue Length und Load Average übersichtlicher an. »P0« beschreibt dabei die zu überwachende CPU und wegen »120 2« macht Sar zwei Durchläufe, jeweils über zwei Minuten, und zeigt danach die Durchschnittswerte für eine, fünf und 15 Minuten an. Die Ausgabe zeigt ebenfalls Abbildung 2.

Abbildung 2: Im Vergleich zu Sar und Pidstat erscheint Awk vergleichsweise umständlich und eingeschränkt.

Abbildung 2: Im Vergleich zu Sar und Pidstat erscheint Awk vergleichsweise umständlich und eingeschränkt.

Ein wahrer Allrounder

Damit nicht genug: Treten mysteriöse Hardware-Effekte auf, nimmt der Admin mit »sar -I Interrupt« einzelne Interrupts unter die Lupe. Und wenn er über die CPU-Auslastung, zum Beispiel über »sar -u«, festgestellt hat, dass der Server am oberen Ende seiner Leistungsfähigkeit angelangt ist, dann muss dies sicherlich noch nicht heißen, dass es Zeit für eine neue Maschine ist. Vielleicht zieht er erst die Langzeitbetrachtung heran, die sowohl an der Konsole als auch mit grafischen Tools möglich ist.

Hier bietet sich vor allem Ksar [2] an. Es bereitet die gesammelten Information in Diagrammen auf, bietet einen schnellen Überblick und kann mehrere Server via SSH-Befehl gleichzeitig darstellen (Abbildung 1). Das Java-Tool führt zum Beispiel »sar -A« auf einem entfernten Server aus und bekommt dabei die kompletten Sar-Daten zur Ansicht übermittelt und stellt sie bequem per Maus klickbar in einem Baumdiagramm dar.

Besonders schön ist, dass die Unterfenster synchronisiert sind. Ein Klick auf einen Unterpunkt im Baumdiagramm aktualisiert die Grafiken automatisch für alle angezeigten Hosts - für den Admin ideal, um mehrere Systeme zu vergleichen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook