So installieren Sie Sysdig zur Überwachung Ihres Linux-Systems

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.

sudo apt update -y
Updating your System’s Package Lists

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 Befehls add-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.
sudo apt install gnupg software-properties-common curl -y && sudo apt install linux-headers-$(uname -r) -y
Installing the Necessary Packages for Sysdig

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.

curl -s https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public | apt-key add -

Nach erfolgreicher Hinzufügung des Schlüssels erhalten Sie eine OK-Nachricht, wie unten gezeigt.

Adding the GPG key to APT”s Keyring

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.

curl -s -o /etc/apt/sources.list.d/draios.list http://download.draios.com/stable/deb/draios.list

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.

sudo apt update -y

Sie sehen die folgende Ausgabe, wenn Ihr APT korrekt konfiguriert ist.

Updating your APT’s Package Lists

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.

sudo apt install sysdig -y
Installing Sysdig

7. Führen Sie abschließend den Befehl sysdig unten aus, um die auf Ihrem Rechner installierte Sysdig-Version zu überprüfen.

sudo sysdig --version

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.

Verifying Sysdig Version Installed

Ü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 auch sudo-Privilegien, um die für viele seiner Tricks erforderlichen Kernel-Symbole automatisch zu laden, wie z. B. das sysdig-probe-Kernelmodul

sudo csysdig

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.

Getting an Error while Running csysdig

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.

Monitoring System Processes using Csysdig

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.

Viewing System Information via the Csysdig Views

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

ls /usr/share/sysdig/chisels
Listing files (scripts) in the /usr/share/sysdig/chisels directory

Ü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.

sudo sysdig -cl

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.

Showing Sysdig Chisels

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.

sudo sysdig -i topprocs_cpu

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.

Showing All Information About the topprocs_cpu Chisel

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.

sudo sysdig -c topprocs_cpu

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.

Listing the process defined by the highest CPU utilization.

Ü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.

sudo sysdig proc.name=sshd

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.

Listing the SSHD process

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.

sudo sysdig -w ata.scap

2. Als nächstes führen Sie den Befehl ls -la unten aus, um alle Dateien im Arbeitsverzeichnis aufzulisten.

ls -la

Sie werden eine neue Datei namens ata.scap in Ihrem Home-Verzeichnis bemerken, wie unten gezeigt.

Listing All Files in Home Directory

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.

sudo sysdig -r ata.scap
Viewing the ata.scap File

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?

Source:
https://adamtheautomator.com/sysdig/