Open Source im professionellen Einsatz
Linux-Magazin 05/2012
893

Dstat: Alle vereint

Wem das zu viele einzelne Tools für die Systemanalyse sind, der findet in Dstat [5] eine eierlegende Wollmilchsau, die fast alle Funktionen in sich vereint. Seine Farbgebung und feste Spaltenbreiten führen zudem dazu, dass es die Zahlen stets übersichtlich geordnet präsentiert. Die GPL-Software Dstat wurde 2004 in Python geschrieben und ist modular aufgebaut. Jede Spalte in der Ausgabe wird von einem Modul erzeugt, das sich unter »/usr/share/dstat/« findet.

Dstat ist bei den meisten Distributionen nachzuinstallieren, es steckt in der Regel im gleichnamigen Paket. Gleich ein erster Aufruf ohne Argumente zeigt die Ähnlichkeit mit Vmstat (Abbildung 6). So wie jener Klassiker stellt auch Dstat alle Werte in Tabellenform dar.

Abbildung 6: Dstat sorgt mit Tabellenform und Farben für Übersichtlichkeit.

Die rote Farbe ist nicht unbedingt ein Indikator für ein Problem. Dstat ändert die Farbe, sobald Werte über einen im Modul festgelegten Schwellenwert hinausgehen. Dies soll die Lesbarkeit der Daten erhöhen und den Systemadministrator auf Änderungen im Systemverhalten aufmerksam machen. Wem jedoch die Farben ein Dorn im Auge sind, der kann sie mit »--nocolor« deaktivieren oder mit »--bw« an ein Terminal mit heller Hintergrundfarbe anpassen.

Die Spaltenbezeichnungen stimmen weitgehend mit denen von Vmstat überein und bedürfen daher keiner weiteren Erklärung. Interessant dagegen ist die große Anpassbarkeit, die Dstats modularer Aufbau erlaubt. Eine Übersicht über verfügbare Plugins verschafft das Kommando »dstat --list« . Der Aufruf von Dstat ohne Parameter entspricht der Standardeinstellung mit:

dstat -c -d -n -g -y

Schalter, die sich mit einem einzigen »-« aufrufen lassen, bedienen fest in Dstat implementierte Funktionen. Optionen, die aus externen Modulen stammen, brauchen zwei Striche »--« . Plugins lassen sich daher mit »dstat --Pluginname« aufrufen. Wer etwa »dstat --proc-count« eingibt, erhält eine sich permanent aktualisiertende Statistik über die gleichzeitig laufenden Prozesse.

Da Dstat die vielfältigen Funktionen von Vmstat, Iostat, Ifstat und Netstat abbildet, empfiehlt selbst der Programmautor Dag Wieers auf seiner Webseite, das Tool themenorientiert aufzurufen. Das bedeutet beispielsweise nur die Festplatten und Mountpunkte zu betrachten, was mit dem Kommando

dstat -d --disk-util --freespace

gelingt. Das Ergebnis zeigt Abbildung 7 (Ausgabe gekürzt). Dstat teilt die Ausgabe in vorhandene Disks und Partitionen. Wenn im Hintergrund Schreib- oder Löschvorgänge auf den dargestellten Partitionen erfolgen, machen sich die Änderungen automatisch in Dstat bemerkbar. Wer auf seinem System NFS-Verzeichnisse einbindet, findet diese ebenfalls in den Statistiken wieder.

Abbildung 7: Dstat in der Anwendung auf Festplattenpartitionen.

Regelmäßige Benutzer von Vmstat möchten sich vielleicht auf die Analyse des Speichers konzentrieren. Das Kommando

dstat -g -l -m -s --top-mem

erzeugt eine Ansicht für diesen Zweck. In Abbildung 8 ist zu sehen, wie der LDAP-Server »slapd« im Laufe der Zeit mehr Ressourcen für sich beansprucht. Die Option »--top-mem« entlarvt den Prozess als Speicherverbraucher Nummer eins. Parallel zum steigenden RAM-Bedarf von »slapd« verzeichnet die Spalte »memory-usage« einen Anstieg des Cache. Während des Dstat-Durchlaufs hat der Admin eine aufwändige LDAP-Suche gestartet, die den Daemon zum Lesen von der Festplatte veranlasste.

Abbildung 8: Auf der Jagd nach dem größten Speicherverbraucher: Hier hat Dstat den LDAP-Daemon ermittelt.

Daneben kann der Dstat-Anwender auch den Fokus auf die Beobachtung der CPU legen, ähnlich wie es ihm mit Iostat möglich ist. Um den Prozess zu sehen, der die meiste CPU-Zeit benötigt, gibt er

dstat -c -y -l --proc-count --top-cpu

ein (Abbildung 9). Wie der Wert für »idl« unter »total-cpu-usage« signalisiert, ist das untersuchte System nicht sehr ausgelastet.

Abbildung 9: Dstat verwandelt sich mit den richtigen Optionen in eine Art Iostat und beobachtet die CPU-Auslastung.

Aufmerksame Systemadministratoren werden das Programm zudem noch auf das Netzwerk loslassen. Dazu dient das Kommando:

dstat -n --socket --tcp --udp

Während die Messwerte für die Sockets und das UDP-Protokoll in diesem Beispiel wenig Veränderung zeigen, ist unter »net/total« ersichtlich, dass die Netzwerkkarten gerade Anfragen beantworten mussten (Abbildung 10). Auch hier steckte ein LDAP-Search hinter der gesteigerten Aktivität, die Dstat durch Farbänderung visuell hervorhebt.

Abbildung 10: Dstat beim Beobachten der TCP- und UDP-Sockets.

Dstat entpuppt sich als Funktionswunder, gleichzeitig aber auch als regelrechtes Optionsmonster. Damit der Überblick nicht verloren geht, fasst Tabelle 1 die wichtigsten Optionen aus den Beispielen diese Artikels zusammen.

Tabelle 1: D-Stat-Optionen im Überblick

Ausblick

Wer Dstat für sich entdeckt hat, kommt schnell auf die Idee, Plugins für seine eigenen Anforderungen zu schreiben. Als Programmiersprache kommt dafür Python zum Einsatz. Sind die selbst gemachten Module unter »/usr/share/dstat/« abgelegt, lassen sie sich als Kommandozeilen-Option mit zwei Minuszeichen vor dem Modulnamen aufrufen. Eine passende Vorlage liefert die Datei »dstat_helloworld.py« im Modulverzeichnis. Das Codebeispiel lässt sich mit »dstat --hello« aufrufen, erfüllt aber nur einen exemplarischen Zweck.

Wer mehr Wert auf aussagekräftige und praxisnahe Beispiele legt, sollte einen Blick in die anderen Dateien im Verzeichnis »/usr/share/dstat« werfen. Hier gibt es für nahezu alle Anwendungsfälle bereits eine Vorlage, die sich für die eigenen Zwecke nutzen lässt.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

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

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Einführung

    Gelegentliche Sorgen über den Systemzustand begleiten den Alltag des Admin, gewöhnlich hält er mit einem dicken Bündel Top- und Stat-Werkzeuge dagegen. Sysadmin-Kolumnist Charly Kühnast meint mit nur einem Multitool auszukommen. Vorläufig.

  • Tooltipps
  • Kostenloses Lesefutter: Scripting für Ausgebuffte

    Mit Erscheinen der aktuellen Ausgabe 04/13 rückt das Linux-Magazin 06/12 in den kostenlosen Bereich, denn auf Linux-Magazin Online sind alle Ausgaben als HTML zum Nulltarif zu lesen, die älter als zehn Monate sind.

  • Weitere Tools und Tipps zur Überwachung des Energieverbrauchs

    Der Artikel "Stromfresser entlarven" im aktuellen Linux-Magazin zeigt anhand von Benchmarks den Einfluss verschiedener Optimierungsversuche, unterschiedlicher Distributionen und OSS-Desktops auf den Energieverbrauch eines Linux-Notebooks. Einige Tools und Tricks, die im Artikel keinen Platz fanden, sind hier zusammengefasst.

  • Kostenloses Lesefutter: Admin-Jobs delegieren, Cloud-Speicher, Kernel-Debugging

    Mit der Veröffentlichung des aktuellen Linux-Magazins 03/2012 wird das Magazin 05/2012 kostenlos zugänglich, denn auf Linux-Magazin Online gibt es alle Ausgaben gratis zu lesen, die älter als 10 Monate sind.

comments powered by Disqus

Ausgabe 07/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.