Ihr Linux-System ist eine ausgezeichnete Plattform für Server und Desktops. Aber wie jedes andere komplexe System ist es entscheidend, eine ordnungsgemäße Überwachung zu haben, um Ihr System auf seinem Höhepunkt zu halten. Zum Glück ist Sysdig gleich um die Ecke!
Sysdig ist ein umfassendes Linux-Überwachungstool, das Ihr System auf Bedrohungen, Fehler, Nutzungsmuster und vieles mehr überwachen kann. Und in diesem Tutorial lernen Sie, Sysdig zu installieren und dabei bestimmte Konfigurationsoptionen hervorzuheben, wie Sie Ihr Linux-System besser überwachen können.
Lesen Sie weiter und verpassen Sie nie wieder eine „Alarmmeldung“!
Voraussetzungen
In diesem Tutorial wird eine praktische Demonstration durchgeführt. Wenn Sie mitmachen möchten, stellen Sie sicher, dass Sie Folgendes haben.
- A Linux machine – This tutorial uses Ubuntu 20.04 LTS, but any Linux distributions will work.
- A non-root user with sudo privileges.
Installation von Sysdig unter Linux
Das Sysdig-Befehlszeilentool ist in den meisten modernen Linux-Distributionen normalerweise verfügbar, und Sie können Sysdig wie andere Pakete installieren, die Sie bisher auf Ihrem Rechner installiert haben.
1. Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl apt update
aus, um sicherzustellen, dass Sie die neuesten Updates aus den Repositories Ihrer Distribution haben. Dieser Befehl aktualisiert die Paketlisten Ihres Systems und kann einige Minuten dauern, um abzuschließen.

2. Führen Sie anschließend den folgenden Befehl apt install
aus, um die notwendigen Pakete für Sysdig herunterzuladen (curl
) und zu installieren. Dieser Befehl installiert auch einige zusätzliche Module, die später in diesem Tutorial verwendet werden, wie folgt:
gnupg
– GNU Privacy Guard ist ein Werkzeug für sichere Kommunikation und Datenspeicherung. Dieses Paket ermöglicht das Herunterladen des öffentlichen GPG-Schlüssels von Sysdig, um die Gültigkeit der Sysdig-Pakete zu überprüfen.
software-properties-common
– Bietet eine schnelle Möglichkeit, Ihre Softwarequellen über die Befehlszeile oder die grafische Benutzeroberfläche zu verwalten. Dieses Paket ermöglicht die Verwendung des Befehlsadd-apt-repository
, um die Sysdig-Paketquellen hinzuzufügen.
linux-headers-$(uname -r)
– Stellt die erforderlichen Dateien bereit, um Kernelmodule für Ihren laufenden Kernel zu erstellen. Dieses Paket ist erforderlich, da Sie möglicherweise Sysdig auf einer Maschine mit einem älteren Standardkernel installieren.

3. Führen Sie den curl
-Befehl unten aus, um den GPG-Schlüssel (GPG
) von Sysdig dem APT-Schlüsselbund hinzuzufügen. Mit diesem Befehl können Sie überprüfen, ob von sysdig.com heruntergeladene Pakete gültig und unverändert sind.
Nach erfolgreicher Hinzufügung des Schlüssels erhalten Sie eine OK-Nachricht, wie unten gezeigt.

4. Führen Sie nun den unten stehenden curl
-Befehl aus, um die Sysdig-Repositorys stillschweigend (-s
) herunterzuladen und als draios.list
zu Ihrem System hinzuzufügen. Die .list
-Erweiterung teilt Ihrem APT mit, dass die Datei eine Liste von URLs für Repositorys ist, nicht nur eine URL.
5. Führen Sie den Befehl apt update
unten erneut aus, um die neuen Sysdig-Repositories herunterzuladen und die Paketlisten Ihres APT mit den Informationen der neuen Repositories zu aktualisieren.
Sie sehen die folgende Ausgabe, wenn Ihr APT korrekt konfiguriert ist.

6. Nach dem Herunterladen der Sysdig-Repositories führen Sie den Befehl apt install
unten aus, um sysdig zu installieren
auf Ihrem Rechner. Dieser Befehl lädt das Paket sysdig
und seine unterstützenden Pakete herunter und installiert sie.

7. Führen Sie abschließend den Befehl sysdig
unten aus, um die auf Ihrem Rechner installierte Sysdig-Version zu überprüfen.
Die Versionsnummer hilft dabei festzustellen, ob Ihr Sysdig-Paket auf dem neuesten Stand ist. Die Version gibt auch Aufschluss darüber, ob die Veröffentlichung von Sysdig die Systemleistung beeinflusst.
Wie unten gezeigt, ist 0.28.0 die neueste Version von sysdig zum Zeitpunkt dieser Aufzeichnung. Ihre Versionsnummer könnte anders sein.

Überwachung von Linux-Systemen mit csysdig
Jetzt, da Sie Sysdig installiert haben, können Sie Sysdig verwenden, um zu sehen, was auf Ihrem System passiert. Das Sysdig-Befehlszeilentool hat viele Optionen, die Ihnen verschiedene Ansichten Ihres Systems und seiner Aktivitäten geben. Das einfachste Beispiel ist der Befehl csysdig
.
Führen Sie den Befehl csysdig
ohne Optionen aus, um zu sehen, was gerade auf Ihrem System passiert. Der Befehl zeigt Ihnen die Aktivität aller gerade laufenden Prozesse.
Beachten Sie, dass Sie Sysdig-Befehle mit
sudo
-Privilegien ausführen müssen, um vollen Zugriff auf Ihr System zu haben. Einige Systemaktivitäten können standardmäßig für nicht-root-Benutzer verborgen sein, z. B. die Ausgabe des /proc-Dateisystems. Sysdig benötigt auchsudo
-Privilegien, um die für viele seiner Tricks erforderlichen Kernel-Symbole automatisch zu laden, wie z. B. das sysdig-probe-Kernelmodul
Wenn Sie auf den folgenden Fehler stoßen, müssen Sie das ncurses-term-Paket ncurses-term
neu installieren. Das ncurses-term
-Paket wird nach einer frischen Sysdig-Installation häufig beschädigt. Sysdig ist auf das ncurses-term
-Paket angewiesen, um seine ncurses-Benutzeroberfläche zu unterstützen.

Wenn der Befehl csysdig
erfolgreich ist, erhalten Sie die folgende Ausgabe, die in Tabs organisiert ist.
Description | |
PID | The Process ID that assigned by the Linux kernel. You use PIDs to identify and manage processes. |
PPID | The parent process ID of the process. You use PPID to trace the process back through its parent processes. Together, PID and PPID uniquely identify a process on your system. |
CPU | The percentage of CPU used by the application since it started can be seen on a scale from 0 to 100%, where 100% equals total CPU usage. You use CPU usage to find applications that are hogging system resources. |
USER | The name of the user that started the process. You use USER to find out who is executing a process you are interested in. |
TH | The name of the user that started the process. You use USER to find out who is executing a process you are interested in. |
VIRT | The total amount of virtual memory used by the application. You use VIRT to find applications that are hogging your system’s memory. |
RES | The number of resident memory pages a process has, as mapped to physical memory. You use RES to find applications that are hogging your system’s memory. |
FILE | The disk’s file descriptor used by the application. You use FILE to see which files are being read or written frequently, usually an indication of I/O activity. |
NET | The network socket descriptor used by the application. You use NET to see which network connections are being used by the process, and how much data is being transferred in bytes per second. |
Command | The network socket descriptor used by the application. You use NET to see which network connections are being used by the process, and how much data is being transferred in bytes per second. |
Auf den ersten Blick ähnelt die csysdig-Benutzeroberfläche Überwaltungstools wie htop.

Drücken Sie F2 und die oberen Registerkarten ändern sich, um einen neuen Satz von Informationen in Registerkarten auf der linken Seite anzuzeigen, wie unten gezeigt.
Sysdig nennt diese „Views“, da es verschiedene Systemansichten sind, die nach Art der angezeigten Informationen organisiert sind und mehr Kontext bieten. Und da diese Views auf LUA-Skripten basieren, können Sie die Skripte anpassen, um unterschiedliche Daten aus dem System zu extrahieren und die Ansicht nach Ihren Wünschen zu ändern.

Standardmäßig befinden sich die LUA-Skripte im Verzeichnis /usr/share/sysdig/chisels, wie unten gezeigt.

Überwachung von CPU-intensiven Prozessen mit Sysdig Chisels
Sysdig bietet mehrere fertig verwendbare Chisels, die automatisch spezifische Systeminformationen sammeln, bekannt als „Chisels“. Vielleicht haben Sie eine langsame Leistung auf Ihrer CPU. Wenn ja, können Sie mit dem Befehl sysdig
und einem spezifischen Chisel anzeigen, welche Anwendungen/Prozesse den größten Teil der CPU-Auslastung verursachen.
Führen Sie den folgenden Befehl sysdig
aus, um verfügbare Chisels aufzulisten.
Der folgende Screenshot zeigt nur wenige Meißel. Sie können jedoch in der offiziellen Dokumentation eine vollständige Liste aller verfügbaren Meißel finden und lernen.
Sysdig-Meißel sind auch LUA-Skripte. Sie können Ihre eigenen Meißel erstellen, um bestimmte Systeminformationen zu überwachen oder Ihre eigene Ansicht zu implementieren. Dieses Thema liegt jedoch außerhalb des Rahmens dieses Tutorials.

2. Führen Sie als Nächstes den folgenden Befehl aus, um detaillierte Informationen (-i
) zu einem bestimmten Meißel, wie z.B. topprocs_cpu
in diesem Beispiel, anzuzeigen.
Sie können alle Informationen zum Meißel topprocs_cpu unten sehen, einschließlich des Namens, der Kategorie und einer kurzen Beschreibung dessen, was der Meißel tut.
In diesem Beispiel wird der Meißel topprocs_cpu als CPU-Auslastung kategorisiert und zeigt den obersten Prozess an, der die höchste CPU-Auslastung aufweist.
Sobald Sie die Funktionalität eines Meißels verstanden haben, können Sie diesen Meißel verwenden.

3. Führen Sie den folgenden sysdig
-Befehl aus und geben Sie den richtigen Meißel (-c topprocs_cpu
) an, um die Anwendungen zu finden, die in Ihrem System die höchste CPU-Auslastung verursachen.
Sysdig erfasst in diesem Beispiel die 10 Prozesse mit der höchsten CPU-Auslastung und gibt sie auf der Konsole aus. Der prozessorlastigste Prozess wird oben angezeigt (sshd), was die Suche erleichtert.

Überwachung gefilterter Systeminformationen
In einigen Fällen ist die Ausgabe enorm, was es schwierig macht, Systeminformationen basierend auf einem bestimmten Meißel zu filtern. Glücklicherweise bietet Sysdig eine leistungsstarke Filteroption an, die Lua-Syntax verwendet, sodass Sie effektive Filterung durchführen können.
Angenommen, Sie suchen nur nach sshd-Prozessen, die zu einer hohen CPU-Auslastung beitragen. Sie können einen Filterausdruck anhand einer bestimmten PID oder eines Prozessnamens definieren.
Führen Sie den untenstehenden sysdig
-Befehl aus, um nur den sshd
-Prozess anzuzeigen, der viel CPU verwendet.
Wie unten gezeigt, erhalten Sie eine gefilterte Ausgabe, ohne andere Prozessinformationen zu erhalten.
Aus der Ausgabe können Sie weitere Informationen über den sshd-Prozess erhalten, beispielsweise warum der sshd-Prozess mehr CPU oder Speicher verwendet usw.

Erstellen einer Ereignisprotokolldatei zur Überwachung Ihres Systems
Eine der großartigen Funktionen, die Sysdig bietet, sind Ereignisprotokolldateien, mit denen Sie alle Informationen darüber sammeln können, was Ihre Anwendung oder das System später analysiert. Die Ereignisprotokolldateien enthalten die gleichen Informationen wie die Befehlszeilenausgaben in den vorherigen Beispielen, werden jedoch in einer Datei auf der Festplatte gespeichert.
1. Führen Sie den untenstehenden Befehl aus, um eine Datei (-w
) mit dem Namen ata.scap
in Ihrem Home-Verzeichnis zu erstellen, in der Syslog alle sysdig
-Ausgaben speichert.
Die Dateierweiterung .scap ermöglicht das Speichern von Datenströmen in Form von menschenlesbarem Text.
2. Als nächstes führen Sie den Befehl ls -la
unten aus, um alle Dateien im Arbeitsverzeichnis aufzulisten.
Sie werden eine neue Datei namens ata.scap in Ihrem Home-Verzeichnis bemerken, wie unten gezeigt.

3. Führen Sie abschließend den unten stehenden Befehl für Sysdig aus, um (-r
) die Sysdig-Ereignisprotokolldatei (ata.scap
) zu lesen und das Verhalten Ihres Systems zu drucken, wenn Sie sich per SSH auf Ihren Server verbinden.

Fazit
In diesem Artikel haben Sie gelernt, wie Sie Sysdig unter Ubuntu 20.04 installieren und csysdig verwenden, um Informationen zu Ihrem System, Ihren Anwendungen und der Sicherheit zu sammeln. Sie haben auch die Erstellung einer Ereignisprotokolldatei berührt, die es Ihnen ermöglicht, das Verhalten Ihres Systems aufzuzeichnen.
An diesem Punkt haben Sie erkannt, dass die Installation von Sysdig in Ihrem System Ihnen leistungsstarke Tools bietet. Und diese Tools helfen Ihnen, tiefere Einblicke in die Funktionsweise Ihres Systems, Ihrer Anwendungen und Ihrer Infrastruktur zu gewinnen.
Jetzt, mit diesem neu gewonnenen Wissen, warum nicht lernen, Ihren HTTP-Verkehr mit Sysdig zu decodieren? Oder wie man mit Sysdig-Tracern Anwendungsengpässe aufspürt?