GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie Sysdig unter Linux, um die Systemlast zu überwachen

Hier sehen wir die Schritte zum Installieren von Sysdig, einem Linux-System- oder Serverüberwachungstool auf CentOS, Redhat, Debian   Ubuntu 20.04/18.04/16.04 zusammen mit anderen Nicht-LTS-Versionen, einschließlich Linux Mint und Elementary OS.

Was ist das Sysdig-Linux-Überwachungstool?

Sysdig ist ein alternatives Open-Source-Tool zu top, iotop, iftop, strace, tcpdump, htop, iftop, lsof und Transaktionsverfolgung. Es bietet einen vollständigen Überblick über die Nutzung von CPU, Speicher, IO, Benutzern und mehr direkt auf dem Befehlsterminal in einer gut strukturierten Oberfläche. Sysdig kann auf fast allen Betriebssystemen installiert werden, sogar auf Windows und OS X.

Anforderungen

  • Ubuntu-Server oder -Desktop
  • Um alle Befehle in diesem Tutorial auszuführen, sollte man Root-Benutzerzugriff haben oder mit einem Nicht-Root-Benutzer mit sudo-Rechten .

Schritt 1:Aktualisieren Sie das System

Führen Sie den Systemaktualisierungsbefehl aus, um sicherzustellen, dass alle Repository- und anderen installierten Pakete auf dem neuesten Stand sind.

sudo apt update

Schritt 2:Installieren Sie Sysdig auf verschiedenen Linux-Systemen

Ubuntu 20.04/18.04 oder früher

In den neuesten Betriebssystemen von Ubuntu und Linux Mint müssen wir kein Repository hinzufügen und können Sysdig mit nur einem einzigen Befehl installieren, z. B.

sudo apt install sysdig

Führen Sie jedoch in Debian und anderen darauf basierenden Linux-Distributionen das folgende Skript aus, das nicht nur sein Repo hinzufügt, sondern auch Sysdig installiert.

Führen Sie vor dem Skript den Befehl zum Installieren von curl und anderen Software-Common-Properties aus, die dem APT helfen, Software aus verschiedenen Quellen effizient zu verwalten.

sudo apt -y install software-properties-common curl
curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash

Die Installation erfolgt vollautomatisch und erfordert kein weiteres Eingreifen.

Sysdig-Installation auf CentOS, RHEL, Fedora, Amazon Linux

Fügen Sie das yum-Repository hinzu

sudo rpm --import https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public
sudo curl -s -o /etc/yum.repos.d/draios.repo https://s3.amazonaws.com/download.draios.com/stable/rpm/draios.repo
sudo yum -y install sysdig

oder

sudo dnf -y install sysdig

Sysdig-Installation auf CentOS

Docker Sysdig-Installation

docker pull sysdig/sysdig
docker run -i -t --name sysdig --privileged -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /boot:/host/boot:ro -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro sysdig/sysdig

Schritt 3:Verwendung von Sysdig-Befehlen

Der erste einfache Befehl von Sysdig, um den laufenden Prozess, den Speicherverbrauch durch sie und mehr anzuzeigen; Geben Sie einfach ein:

sudo csysdig

Wir führen es mit sudo aus, da Sysdig auf einige entscheidende Bereiche des Systems zugreifen muss, wie z. B. das /proc-Dateisystem, /dev/sysdig*-Geräte und mehr, um Ihnen die aktuelle Auslastung und andere Informationen bereitzustellen.

Etwas wie die folgende Ausgabe, die Sie sehen werden …

PID :PID verarbeiten.
CPU :Menge der vom Prozess verwendeten CPU.
TH :Anzahl der Threads, die der Prozess enthält.
VIRT :Gesamter virtueller Speicher für den Prozess.
RES :Residenter, nicht ausgelagerter Speicher für den Prozess.
DATEI :Gesamte (Eingabe+Ausgabe) Datei-E/A-Bandbreite, die vom Prozess generiert wird, in Byte pro Sekunde.
NET :Gesamte (Ein- und Ausgabe) Netzwerk-E/A-Bandbreite, die vom Prozess generiert wird, in Bytes pro Sekunde.
Befehl :Die vollständige Befehlszeile des Prozesses

Sysdig-Befehl zum Anzeigen des Systemprozesses

Im Screenshot oben , sehen Sie die aktuell laufenden Prozesse, Befehle und deren Auswirkungen auf die Systemauslastung (CPU- und Speicherauslastung). Unten befindet sich das Menü bzw. die Tastenbelegung. Drücken Sie   F2 öffnet ein weiteres Menü, hier können Sie auswählen, was Sie sich ansehen möchten.

Schneller Sysdig-Befehl zur Überwachung des Linux-Systems

Sie können im obigen Screenshot die wichtigsten Dinge sehen die wir überwachen müssen, werden auf der linken Seite im Befehlsterminal angezeigt. Mit den Pfeiltasten können Sie auswählen, was Sie interessiert, und dann Enter drücken Taste, die die Schnittstelle auf den entsprechenden Filter umschaltet.

Zum Beispiel, um die Verbindungen zu testen wir haben das ausgewählt und folgendes gezeigt.

Überwachung von Verbindungen mit Sysdig

Dies zeigt Ihnen, welche Verbindungen derzeit mit dem Server verbunden sind, z. B. aktive SSH-Sitzungen zusammen mit Plex Media Server. Wenn Sie mehr zu tief graben möchten, um mehr darüber zu erfahren, drücken Sie F6 .

Tiefenanalyse von Netzwerkverbindungen

Wählen Sie auf die gleiche Weise Fehler aus Option zeigt alle Prozesse, die fehlgeschlagen sind. Sie sind nach der Häufigkeit ihres Auftretens sortiert.

Um mehr über den Prozess und die von ihnen verwendete Gesamt-CPU zu erfahren, wählen Sie „Prozess-CPU “ und drücken Sie die Enter-Taste Schlüssel.

PID :PID verarbeiten.
TOT :Gesamtmenge der vom Prozess verwendeten CPU (Benutzer + System).
USER :Menge der Benutzer-CPU, die vom Prozess verwendet wird.
SYS :Menge der vom Prozess verwendeten System-CPU.
SYSCALLS :Anzahl der vom Prozess getätigten Systemaufrufe pro Sekunde.
Befehl :Die vollständige Befehlszeile des Prozesses.

Prozess und Gesamt-CPU

Unter Liste der geöffneten Dateien , Beispielsweise finden Sie eine Liste aller Dateien, auf die gerade zugegriffen wird, und wer oder welches Programm darauf zugreift.

E/A nach Typ:  zeigt Ihnen welcher Prozess bzw. welcher Trigger gerade wie viel auf den Datenträger schreibt und liest. Hier geht es um die Übertragungsrate, die Gesamtzahl der verschobenen Daten kann hier nicht eingesehen werden.

BPS EIN: Bytes pro Sekunde, die von den FDs des spezifischen Typs gelesen werden.
BPS OUT :Bytes pro Sekunde, die auf die FDs des spezifischen Typs geschrieben werden.
IOPS :Anzahl der E/A-Vorgänge für die angegebene E/A-Kategorie. Dies zählt alle Operationen auf der Datei, einschließlich Öffnen, Schließen, Lesen, Schreiben, Status und so weiter. Folglich kann dieser Wert Null sein, auch wenn die I/O-Bytes für die Datei Null sind.
TIME :Zeit, die von Prozessen für E/A-Vorgänge (einschließlich Warten) dieses Typs aufgewendet wird.
E/A-Typ :E/A-Typ. Kann eine der folgenden sein:file, directory, ipv4, ipv6, pipe, Unix, signal, event, inotifMesos Frameworks y

I O nach Typ

Unter  Benutzer ausspionieren , Sie finden eine Liste aller Prozesse, die von Benutzern aufgerufen wurden – nicht das System oder andere Prozesse. Hier sehen Sie die Listen aller Befehle, die interaktiv ausgeführt werden, also eine Shell als übergeordneten Prozess haben. Das Ergebnis Dateien ist die Anzeige aller Benutzeraktivitäten, sortiert nach Zeit.

ZEIT :Zeitpunkt, zu dem der Befehl ausgeführt wurde.
USER :Name des Benutzers, der den Befehl ausführt.
SHELL :Pid der Shell, in der dieser Befehl ausgeführt wurde. Dies entspricht im Wesentlichen einer „Session-ID“. Sie können nach dieser Spalte filtern oder sortieren, um eine bestimmte interaktive Benutzersitzung zu isolieren.
Befehl :Der ausgeführte Befehl, einschließlich Argumente.

Ähnlich , können wir andere Optionen zur Überwachung unserer Linux-Systeme erkunden.

Wenn Sie bestimmte Details des Systems wie CPU, Netzwerk und mehr erhalten möchten, können Sie auch den entsprechenden Direktbefehl verwenden. Wie in der reinen Commandline-Version gibt es so viele Einstellungen, Variablen und Filter, dass ich sie hier nicht alle aufzählen möchte. Eine vollständige Liste aller Funktionen finden Sie im offiziellen Sysdig-Wiki.

Hier sind einige davon:

Um den Prozess direkt anhand der CPU-Auslastung zu überwachen, lautet der Befehl:

sudo sysdig -c topprocs_cpu

sysdig CPU-Prozessüberwachungsbefehl

Der Befehl zum Überwachen beider Netzwerkverbindungen 

sudo sysdig -c netstat

Alle Linux-Netzwerkverbindungen

Um die wichtigsten Netzwerkverbindungen anzuzeigen und nach Netzwerk-Input/Output zu verarbeiten

sudo sysdig -c topconns
sudo sysdig -c topprocs_net

Andere Schnellbefehle können mit dem Befehl:

angezeigt werden
 sudo sysdig -cl

Im Folgenden sind die Befehle nach Kategorie aufgeführt:

Zum Beispiel möchte ich das HTTP-Anforderungsprotokoll sehen, den ersten Befehl in der folgenden Liste. Geben Sie dazu einfach

ein
sudo sysdig -c httplog

Der fettgedruckte ist der Befehl…

Category: Application
---------------------
httplog HTTP requests log
httptop Top HTTP requests
memcachelog memcached requests log

Category: CPU Usage
-------------------
spectrogram Visualize OS latency in real time.
subsecoffset Visualize subsecond offset execution time.
topcontainers_cpu Top containers by CPU usage
topprocs_cpu Top processes by CPU usage

Category: Errors
----------------
topcontainers_error Top containers by number of errors
topfiles_errors Top files by number of errors
topprocs_errors top processes by number of errors

Category: I/O
-------------
echo_fds        Print the data read and written by processes.
fdbytes_by        I/O bytes, aggregated by an arbitrary filter field
fdcount_by       FD count, aggregated by an arbitrary filter field
fdtime_by        FD time group by
iobytes             Sum of I/O bytes on any type of FD
iobytes_file      Sum of file I/O bytes
spy_file             Echo any read/write made by any process to all files. Optionally, you can provide the name of one file to only intercept reads
/writes to that file.
stderr        Print stderr of processes
stdin          Print stdin of processes
stdout             Print stdout of processes
topcontainers_file               Top containers by R+W disk bytes
topfiles_bytes                  Top files by R+W bytes
topfiles_time              Top files by time
topprocs_file                Top processes by R+W disk bytes
udp_extract                 extract data from UDP streams to files.

Category: Logs
--------------
spy_logs                   Echo any write made by any process to a log file. Optionally, export  the events around each log message to file.
spy_syslog                     Print every message written to syslog. Optionally, export the events around each syslog message to file.

Category: Misc
--------------
around                  Export to file the events around the time range where the given filter matches.

Category: Net
-------------
iobytes_net    Show total network I/O bytes
spy_ip            Show the data exchanged with the given IP address
spy_port        Show the data exchanged using the given IP port number
topconns         Top network connections by total bytes
topcontainers_net   Top containers by network I/O
topports_server     Top TCP/UDP server ports by R+W bytes
topprocs_net        Top processes by network I/O

Category: Performance
---------------------
bottlenecks             Slowest system calls
fileslower               Trace slow file I/O
netlower               Trace slow network I/0
proc_exec_time              Show process execution time
scallslower               Trace slow syscalls
topscalls                Top system calls by number of calls
topscalls_time             Top system calls by time

Category: Security
------------------
list_login_shells    List the login shell IDs
shellshock_detect     print shellshock attacks
spy_users             Display interactive user activity

Category: System State
----------------------
lscontainers                                 List the running containers
lsof                                     List (and optionally filter) the open file descriptors.
netstat                               List (and optionally filter) network connections.
ps                                List (and optionally filter) the machine processes.

Category: Tracers
-----------------
tracers_2_statsd        Export spans duration as statds metrics.

Use the -i flag to get detailed information about a specific chisel
 

Um alle zugehörigen Befehle und andere Informationen zu kennen, mit einem Beispiel für sysdig und csysdig Tools finden Sie auf der Manpage:

man sysdig
man csysdig

Endnotizen für Sysdig

Sysdig ist ein sehr umfangreiches Tool, um den aktuellen Status und die Auslastung Ihres Systems im Auge zu behalten. Während mit Csysdig Es bietet Ihnen eine komfortable kommandozeilenbasierte interaktive Schnittstelle innerhalb der Konsole, um effektiv zu arbeiten. Mit dem Befehlszeilentool selbst können Sie effektive Skripte erstellen und Ihre eigenen benutzerdefinierten Protokolldateien erstellen.

Andere Linux-Tutorials:

  • Wie ändere ich das GRUB-Menü-Timeout beim Booten?
  • Tutorial zur Installation des OpenSSH-Servers auf Ubuntu 20.04 LTS

Debian
  1. So ändern Sie die Identität eines Linux-Systems

  2. So überwachen Sie die Linux-Systemleistung mit Sysstat

  3. So installieren Sie Wine unter Linux

  4. So installieren und verwenden Sie Glances zur Überwachung von Linux-Systemen

  5. Wie installiere ich „convert“ auf einem Linux-System?

So installieren Sie Plesk auf einem Linux-System

So installieren Sie Monit unter Ubuntu 20.04, um die Systemdienste zu überwachen

Linux – Wie installiere ich X11 auf dem eigenen Linux-Buildroot-System?

So verwenden Sie den fd-Befehl auf einem Linux-System

So installieren Sie Sysdig, um Ihr Linux-System zu überwachen

So überwachen Sie Systemmetriken in Echtzeit mit dem Glances-Tool unter Linux