Sysdig: Tool zur Überwachung von Linux-Systemen

Es gibt verschiedene Tools, die entwickelt wurden, um verwaltete Computer viel umfassender zu verwalten, und dies ist von entscheidender Bedeutung, da wir so eine viel direktere Kontrolle haben und in Echtzeit den wahren Status jedes Systems kennen.

Bei der Verwaltung von Linux-Umgebungen haben wir ein praktisches und einfaches Werkzeug, das uns hilft, das System zu analysieren, und das ist Sysdig.

Dieses Mal analysiert Solvetic, wie Sysdig auf dem Ubuntu 17.04-Server installiert und verwendet wird, aber diese Anwendung wird für jede Linux-Distribution eine große Hilfe sein.

Was ist SysdigSysdig ist eine Open-Source-Anwendung, die einen Scan auf Systemebene durchführt, um den Zustand des Systems und die Aktivität einer laufenden Linux-Instanz zu erfassen, um die erhaltenen Daten später zu speichern, zu filtern und zu analysieren.

Sysdig wurde in Lua geschrieben und enthält eine Befehlszeilenschnittstelle und eine leistungsstarke interaktive Benutzeroberfläche, csysdig, die im Terminal ausgeführt werden kann. Wir verfügen derzeit über Verwaltungsdienstprogramme wie:
Strace: Entdecken Sie die Aufrufe und Signale des Systems an einen Prozess.

  • Tcpdump: Überwachung des Netzwerkverkehrs.
  • Nettostatistik: Überwachung der Netzwerkverbindung.
  • Htop: Prozessüberwachung in Echtzeit.
  • Links oben: Überwachung der Netzwerkbandbreite in Echtzeit.
  • Lsof: Es ermöglicht zu visualisieren, welche Dateien von welchem ​​Prozess geöffnet werden.

Mit sysdig werden wir all diese Tools und viele mehr integriert haben, ein einfaches Programm bieten und auf Container-Unterstützung zählen.

Sysdig-FunktionenEinige der herausragendsten Funktionen von Sysdig sind:

  • Es ist schnell, stabil und einfach zu bedienen mit umfangreicher Dokumentation.
  • Beinhaltet native Unterstützung für Container-Technologien, einschließlich Docker, LXC und mehr.
  • Es ist in Lua programmierbar; bietet Meißel (leichte Lua-Skripte) zur Verarbeitung erfasster Systemereignisse.
  • Unterstützt Ausgabefilterung.
  • Unterstützt System- und Anwendungsverfolgung.
  • Es kann mit Ansible, Pupe und Logstash integriert werden.
  • Aktiviert erweiterte Beispielprotokollanalyse.
  • Es verfügt über Funktionen zur Analyse von Linux-Serverangriffen (Forensik) für ethische Hacker und vieles mehr.

1. Installieren Sie Sysdig unter Linux

Schritt 1
Um Sysdig auf dem Ubuntu 17.04 Server zu installieren, führen wir einen der folgenden Befehle aus, der alle Anforderungen überprüft; Wenn alles korrekt ist, wird das Paket aus dem Draios APT / YUM-Repository heruntergeladen und installiert:

 curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | bash curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash

VERGRÖSSERN

Schritt 2
Sobald der Installationsvorgang abgeschlossen ist, sehen wir Folgendes:

VERGRÖSSERN

2. Verwenden von Sysdig unter Linux

Schritt 1
Nach der Installation müssen Sie sysdig als root ausführen, da es Zugriff auf kritische Bereiche wie das Dateisystem /dev / sysdig * erfordert und das Kernelmodul sysdig-probe automatisch laden muss, führen wir Folgendes aus:

 sudo sysdig

VERGRÖSSERN

Schritt 2
Dort können wir eine Reihe von kleinen komplexen Daten sehen. Wenn wir eine viel einfachere Ansicht erhalten möchten, müssen wir die csysdig-Schnittstelle verwenden. Wir führen folgendes aus:

 sudo csysdig
Schritt 3
Das Ergebnis wird folgendes sein. Wir können die Daten viel organisierter sehen. Es ist wichtig, klarzustellen, dass das Ziel darin besteht, den sysdig-Befehl zu verwenden, um das wahre Potenzial des Tools auszuschöpfen.

VERGRÖSSERN

3. Verstehen Sie Sysdig-Filter und -Parameter unter Linux


Auf einen Blick konnten wir sehen, dass die von sudo sysdig Sie sind komplex und schwer zu verstehen, aber an sich sind sie minimale Lua-Skripte, um den Fluss von sysdig-Ereignissen zu untersuchen und damit nützliche Fehlerbehebungsmaßnahmen für das System im Allgemeinen durchzuführen.

Schritt 1
Durch Ausführen des folgenden Befehls können wir die verfügbaren Filter anzeigen:

 sudo sysdig -cl

VERGRÖSSERN

Schritt 2
Dort sehen wir die verschiedenen verfügbaren Kategorien mit ihren jeweiligen Optionen. Wenn Sie mehr über einen bestimmten Filter erfahren möchten, verwenden wir den Indikator -ich:

 sudo sysdig -i topprocs_cpu

VERGRÖSSERN

Schritt 3
Sysdig-Filter fügen dem Ausgabetyp, den wir aus Ereignisströmen erhalten können, weitere Details hinzu, die es uns ermöglichen, die Ausgabe anzupassen. Ein einfacher und allgemeiner Filter ist eine grundlegende Prüfung "class.field = value". Um eine Liste der verfügbaren Feldklassen, Felder und deren Beschreibungen anzuzeigen, führen wir Folgendes aus:

 sudo sysdig -l

VERGRÖSSERN

4. Linux-Systemmonitordatei erstellen

Schritt 1
Um die sysdig-Ausgabe zur späteren Analyse in eine Datei zu speichern, müssen wir den Parameter -w und es wird möglich sein, die Trace-Dump-Datei mit dem Parameter zu lesen -R.

Die Option -s wird verwendet, um die Anzahl der Datenbytes anzugeben, die für jedes Systemereignis erfasst werden sollen. In diesem Fall filtern wir Ereignisse für den Mongod-Prozess.

Schritt 2
Zum Beispiel können wir Folgendes ausführen:

 sudo sysdig -s 10 -w trace.scap
Schritt 3
Für Ihre Analyse führen wir folgendes durch:
 sudo sysdig -r trace.scap proc.name = mongod

5. Linux-Prozesse überwachen


Wenn wir alle Prozesse des Systems auflisten möchten, führen wir Folgendes aus:
 sudo sysdig -c ps

VERGRÖSSERN

Wir können eine vollständige Zusammenfassung mit Angabe von PID, Benutzer, Speichernutzung usw. anzeigen.

6. Überwachen Sie Prozesse nach CPU-Auslastung in Linux


Mit Sysdig ist es möglich, Prozesse nach Prozent der CPU-Auslastung zu überwachen, dazu führen wir Folgendes aus:
 sudo sysdig -c topprocs_cpu

VERGRÖSSERN

7. Überwachen Sie Netzwerkverbindungen und E / A-Geräte in Linux

Schritt 1
Mit Sysdig können wir alle Netzwerkverbindungen überwachen, indem wir Folgendes ausführen:

 sudo sysdig -c netstat

VERGRÖSSERN

Schritt 2
Wir können alle Adressen, das verwendete Protokoll, den Status und die PID sehen. Mit dem folgenden Befehl können wir die obersten Netzwerkverbindungen nach einer definierten Anzahl von Bytes anzeigen:

 sudo sysdig -c topconns
Schritt 3
Wir können die Hauptprozesse auch nach Netzwerk-I / OS mit dem folgenden Befehl auflisten:
 sudo sysdig -c topprocs_net

8. Überwachen Sie I / O-Dateisysteme unter Linux

Schritt 1
Die von Prozessen im System gelesenen und geschriebenen Daten können über die folgende Zeile ausgegeben werden:

 sudo sysdig -c echo_fds

VERGRÖSSERN

Schritt 2
Um die Hauptprozesse nach Festplattenbytes (Lesen und Schreiben) aufzulisten, verwenden wir die folgende Zeile:

 sudo sysdig -c topprocs_file

VERGRÖSSERN

9. Beheben von Leistungsproblemen unter Linux


Sysdig bietet uns die Möglichkeit, Systemaufruffehler (Engpässe) mit der Ausführung des folgenden Befehls zu überwachen:
 sudo sysdig -c Engpässe

VERGRÖSSERN

NotizUm die Ergebnisse zu sehen, müssen wir die folgenden Tasten verwenden, um den Vorgang abzuschließen.

Strg + C

10. Entdecken Sie langsame Netzwerke unter Linux


Mit dem folgenden Befehl kann analysiert werden, welches Netzwerk-E / A-Gerät im System langsam ist:
 sudo sysdig -c netlower

11. HTTP-Abfragen unter Linux überwachen

Schritt 1
Wenn wir einen HTTP-Server wie Apache oder Nginx im System haben, können wir das Anfrageprotokoll des Servers mit dem folgenden Befehl durchsuchen:

 sudo sysdig -c httplog
Schritt 2
Oder wenn wir die Abfragen visualisieren möchten, die wir ausführen:
 sudo sysdig -c httptop

12. Shells-Bereitstellung und Benutzerinteraktivität unter Linux

Schritt 1
Mit dem folgenden Befehl können wir alle Login-Shell-IDs sehen:

 sudo sysdig -c list_login_shells
Schritt 2
Um die Aktivität der Benutzer zu sehen, führen wir Folgendes aus:
 sudo sysdig -c spy_users

13. Sysdig-Hilfe unter Linux unter Linux


Schließlich können wir auf die sysdig-Hilfe zugreifen, indem wir einen der folgenden Befehle ausführen:
 Mann sysdig Mann csysdig 

VERGRÖSSERN

Auf diese Weise wird sysdig zu einer funktionalen Alternative, wenn es darum geht, verschiedene Aspekte des Systems zu verwalten, zu überwachen und viel genauer zu kontrollieren.

wave wave wave wave wave