
Abbildung 1: Abstrakte Kunst? Nein: Konkrete Latenzen bei Dateizugriffen als Spektrogramm, aufgetragen über einen Zeitverlauf.
Diesmal hat sich Sysadmin-Kolumnist und Tool-Veterinär Charly Kühnast in seine Praxis Sysdig zur Fleischbeschau eingeladen, die Eier legende Wollmilchsau unter den Systemdiagnose-Tools. Das Projekt verspricht nämlich die Funktionalität von “lsof”, “iftop”, “netstat”, “tcpdump” und Co. zu vereinen.
Behauptet ein Supervieh, eine ganze Herde zu ersetzen, liegt die Latte hoch. Immerhin stehen hinter dem Projekt Sysdig [1] die Autoren von Wireshark, also keine Anfänger. Die Software arbeitet nur mit Rootrechten gut, anders käme sie nicht an alle Systembereiche heran. Starte ich das Tool ohne Parameter, scrollt ein steter Strom von Systemnachrichten an mir vorbei – jeden einzelnen Syscall protokolliert es penibel. Um das Dickicht zu sortieren, benutzt Sysdig Meißel (Chisel). Welche es gibt, erfahre ich mit dem Kommando »sysdig -cl«.
Die Chisel sind in Kategorien sortiert (Net, I/O, Application, Logs und so weiter). Beispiel: In der Kategorie Performance gibt es einen Meißel namens »netlower«. Ihm übergebe ich als Parameter einen Zeitwert, etwa 10 Millisekunden:
sysdig -c netlower 10
Jetzt listet mir Sysdig fortlaufend Prozesse auf, deren Netzwerk-I/O langsamer als 10 Millisekunden ist – in meinem Heimnetzwerk sind das etwa die Smokeping-Probes zu den Garten-Raspberrys und einige Munin-Verbindungen.
Ein Liste der Prozesse mit den häufigsten Massenspeicherzugriffen bekomme ich mit »sysdig -c topprocs_file«; »sysdig -c topconns« nennt die Verursacher des meisten Netzwerkverkehrs. Einen Ersatz für »top« liefert »sysdig -c topprocs_cpu«. Besonders informativ ist die eingebaute automatische Analyse von Flaschenhälsen: Nach »sysdig -c bottlenecks« erscheint eine Liste von Prozessen, deren Syscalls verdächtig lange brauchen. Das ist ein super Einstieg in die Fahndung nach Engpässen.
Tiefe auf der Oberfläche
Wer es interaktiver mag, benutzt »csysdig«. Das Tool stellt Informationen, die Sysdig liefert, auf einer laufend aktualisierten Ncurses-Oberfläche dar. Ohne Parameter aufgerufen, erinnert der Startbildschirm an »htop«. Mit [F2] erreiche ich jedoch eine Liste so genannter Views. Sie entsprechen den Kategorien, innerhalb derer Sysdig seine Meißel ausbreitet, und genau auf die darf ich hier schnell und einfach zugreifen.
Greife ich etwa zur View »Spectrogram-File«, erhalte ich eine Grafik wie in Abbildung 1 – sie fächert die Latenz von Dateizugriffen auf, jede Zeile repräsentiert eine Sekunde. Zum Zeitpunkt der Screenshot-Aufnahme ratterte ein »apt dist-upgrade« durch, daher die hohe, rot gefärbte Lese- und Schreiblast.

Abbildung 1: Abstrakte Kunst? Nein: Konkrete Latenzen bei Dateizugriffen als Spektrogramm, aufgetragen über einen Zeitverlauf.
In der Übersicht der Views zeigt sich eine Spezialität von Sysdig und Csysdig: Sie können Analysen auf Applikationen einschränken, die in Containersystemen wie Docker oder Kubernetes laufen. Eventuelle Performance-Schwankungen containerisierter Software grenzt der Admin so schnell und einfach ein.
Mein Fazit: Nur als Ersatz für »top« und »netstat« eingesetzt, schießt die Kanone Sysdig auf Spatzen. Darüber hinaus aber sind mir die vielen gut parametrisierbaren Analysen von Datei- und Netzlatenzen eine wirkliche Hilfe. Muss ich mal bis zu einzelnen Syscalls heruntergraben, lasse ich ein Tracefile schreiben und filtere es, bis ich das Gewünschte finde – spätestens hier wird die Handschrift der Wireshark-Macher sichtbar.
Infos
- Sysdig: https://www.sysdig.org





