SYSDIG - Ein leistungsstarkes Systemüberwachungs- und Fehlerbehebungstool für Linux

SYSDIG - Ein leistungsstarkes Systemüberwachungs- und Fehlerbehebungstool für Linux

SYSDIG ist ein Open-Source-, plattformübergreifender, leistungsstarker und flexibler Systemüberwachungs- und Fehlerbehebungsinstrument für Linux; Es funktioniert auch unter Windows und Mac OSX, jedoch mit begrenzter Funktionalität und kann für die Systemanalyse, Inspektion und Debugg verwendet werden.

Normalerweise würden Sie eine Mischung aus verschiedenen Tools für die Überwachung und Fehlerbehebung in Linux -Leistungen verwenden, einschließlich dieser, die unten aufgeführt sind, um die Überwachungs- und Debugging -Aufgaben bei Linux auszuführen:

  1. Strace - Entdecken Sie Systemaufrufe und Signale zu einem Prozess.
  2. TCPDUMP - RAW -Netzwerkverkehrsüberwachung.
  3. Netstat - Überwachung von Netzwerkverbindungen.
  4. HTOP - Echtzeit -Prozessüberwachung.
  5. IFTOP - Echtzeit -Netzwerkbandbreite Überwachung.
  6. LSOF - Zeigen Sie an, welche Dateien durch welchen Prozess geöffnet sind.

Jedoch, SYSDIG Integriert das, was alle oben genannten Tools und viele mehr in einem einzigen und einfachen Programm bieten, mehr mit erstaunlicher Containerunterstützung. Es ermöglicht Ihnen, das tatsächliche Verhalten (Ereignisstrom) von Linux -Systemen sowie Container zu erfassen, zu speichern, zu filtern und zu untersuchen.

Es wird mit einer Befehlszeilenschnittstelle und einer leistungsstarken interaktiven Benutzeroberfläche geliefert (CSYSDIG), mit denen Sie die Systemaktivität in Echtzeit ansehen oder einen Trace -Dump durchführen und für eine spätere Analyse sparen können. Sie können sich ansehen, wie CSYSDIG aus dem folgenden Video funktioniert.

SYSDIG -Funktionen:

  • Es ist schnell, stabil und benutzerfreundlich mit umfassend gut dokumentiert.
  • Kommt native Unterstützung für Containertechnologien, einschließlich Docker, LXC.
  • Es ist in Lua skriptierbar; Bietet Meißel (leichte Lua -Skripte) für die Verarbeitung erfasster Systemereignisse an.
  • Unterstützt die nützliche Filterung der Ausgabe.
  • Unterstützt System- und Anwendungsverfolgung.
  • Es kann in Ansible, Puppen- und Logstash integriert werden.
  • Aktivieren Sie die Probe Advanced Log Analysis.
  • Es bietet auch Analysefunktionen für Linux Server Attack (Forensics) für ethische Hacker und Lots mehr.

In diesem Artikel werden wir zeigen.

So installieren Sie Sysdig unter Linux

Installation SYSDIG Das Paket ist so einfach wie das Ausführen des folgenden Befehls, wodurch alle Anforderungen überprüft werden. Wenn alles vorhanden ist, wird das Paket vom DRAIOS APT/YUM -Repository heruntergeladen und installiert.

# curl -s https: // s3.Amazonawen.com/download.Draios.com/stabil/installsysdig | Bash oder $ curl -s https: // s3.Amazonawen.com/download.Draios.com/stabil/installsysdig | sudo bash 

Nach dem Installieren müssen Sie ausführen SYSDIG als Wurzel, weil es Zugang zu kritischen Bereichen erfordert wie z /proc Dateisystem, /dev/sysdig* Geräte und müssen das Sysdig-Probe-Kernel-Modul automatisch laden (falls dies nicht der Fall ist); Verwenden Sie sonst den Sudo -Befehl.

Das grundlegendste Beispiel ist es, es ohne Argumente auszuführen. Dadurch können Sie Ihren Linux-Systemstrom von Ereignisstreams anzeigen, die in Echtzeit aktualisiert wurden:

$ sudo sysdig 
Sehen Sie sich Linux -Systemereignisse an

Die obige Ausgabe (Rohdaten) macht für Sie möglicherweise nicht viel Sinn für einen nützlicheren Ausgangslauf CSYSDIG:

$ sudo csysdig 
Überwachen Sie Linux -Systemereignisse

Notiz: Um das wahre Gefühl dieses Tools zu bekommen, müssen Sie verwenden SYSDIG Dies erzeugt Rohdaten, wie wir zuvor gesehen haben, von einem laufenden Linux -System: Auf diese Weise können Sie verstehen, wie Filter und Meißel verwendet werden.

Aber wenn Sie ein schmerzloses Mittel zur Verwendung benötigen SYSDIG - weitermachen mit CSYSDIG.

Verständnis von Sysdig -Meißeln und Filtern

Sysdig -Meißel sind minimale Lua -Skripte zur Untersuchung des Sysdig -Ereignisstroms, um nützliche Systeme zur Behebung von Systemen und mehr durchzuführen. Mit dem folgenden Befehl können Sie alle verfügbaren Meißel ansehen:

$ sudo sysdig -cl -cl 

Der Screenshot zeigt eine Beispielliste von Meißeln unter verschiedenen Kategorien.

Sehensdig -Meißel anzeigen

Wenn Sie weitere Informationen zu einem bestimmten Meißel finden möchten, verwenden Sie die -ich Flagge:

$ sudo sysdig -i toppprocs_cpu 
SYSDIG MHIEL Info anzeigen

SYSDIG -Filter fügen der Art der Ausgabe, die Sie aus Ereignisströmen erhalten können, mehr Leistung hinzu. Sie ermöglichen es Ihnen, die Ausgabe anzupassen. Sie sollten sie am Ende einer Befehlszeile angeben.

Ein unkomplizierter und häufigsten Filter ist ein grundlegender “Klasse.Feld = Wert”Überprüfen Sie, Sie können auch Meißel mit Filtern für noch leistungsfähigere Anpassungen kombinieren.

Um eine Liste der verfügbaren Feldklassen, Felder und deren Beschreibungen anzuzeigen, geben Sie ein:

$ sudo sysdig -l 
SYSDIG -Feldklassen anzeigen

Erstellen von Linux -System -Trace -Datei

Verwenden Sie die SYSDIG -Ausgabe in einer Datei zur späteren Analyse, um die -w Flagge so.

Sie können die Trace -Dump -Datei mit der Datei lesen -R Flagge:

$ sudo sysdig -r Trace.Scap 

Der -S Die Option wird verwendet, um die Anzahl der Bytes von Daten anzugeben, die für jedes Systemereignis erfasst werden sollen. In diesem Beispiel filtern wir Ereignisse für die Mongod Verfahren.

$ sudo sysdig -s 3000 -w Trace.Scap $ sudo sysdig -r Trace abrücken.Scap Proc.Name = Mongod 
Erstellen Sie die MongoDB -Trace -Datei

Überwachung von Linux -Prozessen

Type, um Systemprozesse aufzulisten, type:

$ sudo sysdig -c ps 
Überwachen Sie Linux -Prozesse

Überwachen Sie Prozesse nach CPU -Verwendung

Führen Sie diesen Befehl aus:

$ sudo sysdig -c toppprocs_cpu 
Überwachen Sie Prozesse nach CPU -Verwendung

Überwachung von Netzwerkverbindungen und I/O

Um System -Netzwerkverbindungen anzuzeigen, rennen Sie:

$ sudo sysdig -c netstat 
Netzwerkverbindungen überwachen

Der folgende Befehl hilft Ihnen bei der Auflistung von Top -Netzwerkverbindungen nach Gesamtbytes:

$ sudo sysdig -c topconns 

Als nächstes können Sie auch Top -Prozesse nach Netzwerk -E/A wie folgt auflisten:

$ sudo sysdig -c toppprocs_net 

Überwachungssystemdatei I/O

Sie können die von Prozessen auf dem System gelesenen und geschriebenen Daten wie unten ausgeben:

$ sudo sysdig -c echo_fds 
Überwachen Sie das System IO

Verwenden Sie: Verwenden Sie:

$ sudo sysdig -c toppprocs_file 

Fehlerbehebung bei einer Linux -Systemleistung

Führen Sie diesen Befehl aus:

$ sudo sysdig -c Engpässe 
Fehlerbehebung bei Linux -Leistung

Verfolgen Sie die Ausführungszeit eines Prozesses

Um die Ausführungszeit eines Prozesses zu verfolgen, können Sie diesen Befehl ausführen und die Trace in einer Datei abgeben:

$ sudo sysdig -w zeit.scap -c proc_exec_time 
Verfolgungsprozessausführungszeit verfolgen

Verwenden Sie dann einen Filter, um die Details eines bestimmten Prozesses zu null (Postgres in diesem Beispiel) wie folgt:

$ sudo sysdig -r zeit.Scap Proc.name = postgres 

Entdecken Sie langsames Netzwerk I/0

Dieser einfache Befehl hilft Ihnen dabei, langsames Netzwerk -I/0 zu erkennen:

$ sudo sysdig -c netlower 

Anschauen von Protokolldateieinträgen

Der folgende Befehl hilft Ihnen dabei, jede an syslog geschriebene Nachricht anzuzeigen. Wenn Sie an Protokolleinträgen für einen bestimmten Prozess interessiert sind, erstellen Sie einen Trace -Dump und filtern Sie ihn entsprechend wie zuvor gezeigt heraus:

$ sudo sysdig -c spy_syslog 

Sie können alle Daten wie folgt in eine Protokolldatei drucken:

$ sudo sysdig -c spy_logs 

Überwachung von HTTP -Serveranforderungen

Wenn Sie über einen HTTP -Server wie Apache oder Nginx auf unserem System ausgeführt werden, lesen Sie die Anforderungen des Servers mit diesem Befehl an

$ sudo sysdig -c httplog $ sudo sysdig -c httptop [Drucken Top HTTP -Anforderungen] 
Überwachen Sie HTTP -Anforderungen

Zeigen Sie Login -Shells und interaktive Benutzeraktivität an

Mit dem folgenden Befehl können Sie alle Anmeldungs ​​-Shell -IDs anzeigen:

$ sudo sysdig -c list_login_shells 

Zu guter Letzt können Sie interaktive Aktivitäten von Systemnutzern wie SO zeigen:

$ sudo sysdig -c spy_users 
Benutzeraktivität überwachen

Weitere Nutzungsinformationen und Beispiele finden Sie in den Seiten Sysdig und CSYSDIG:

$ MAN SYSDIG $ MAN CSYSDIG 

Referenz: https: // www.SYSDIG.org/

Überprüfen Sie auch diese nützlichen Tools zur Überwachung von Linux -Leistungen:

  1. BCC - Dynamische Tracing -Tools für Linux -Leistungsüberwachung, Netzwerk und mehr
  2. PYDASH - Ein webbasiertes Tool zur Überwachung von Linux -Leistungsüberwachung
  3. PERF-A-Tool zur Überwachung und Analyse für Linux
  4. Collectl: Ein erweitertes All-in-One-Leistungsüberwachungsinstrument für Linux
  5. NetData - Ein Echtzeit -Leistungsüberwachungstool für Linux -Systeme
Abschluss

SYSDIG vereint Funktionen aus zahlreichen Befehlszeilen -Tools in eine bemerkenswerte Schnittstelle, sodass Sie tief in Ihre Linux -Systemereignisse eintauchen können, um Daten zu sammeln.

Verwenden Sie das Feedback -Formular unten, um Fragen zu stellen oder Gedanken zu diesem Tool zu teilen.