GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer Sysdig sur Linux pour surveiller la charge du système

Ici, nous verrons les étapes pour installer Sysdig, un système Linux ou un outil de surveillance de serveur sur CentOS, Redhat, Debian   Ubuntu 20.04/18.04/16.04 ainsi que d'autres versions non-LTS, y compris Linux Mint et Elementary OS.

Qu'est-ce que l'outil de surveillance Sysdig Linux ?

Sysdig est un outil alternatif open-source pour top, iotop, iftop, strace, tcpdump, htop, iftop, lsof et le suivi des transactions. Il fournit un aperçu complet de l'utilisation du CPU, de la mémoire, des E/S, des utilisateurs et plus directement sur le terminal de commande dans une interface bien structurée. Sysdig peut être installé sur presque tous les systèmes d'exploitation, même sur Windows et OS X.

exigences

  • Serveur ou poste de travail Ubuntu
  • Pour exécuter toutes les commandes de ce didacticiel, car on devrait avoir un accès utilisateur root ou avec un utilisateur non root avec droits sudo .

Étape 1 :Mettre à jour le système

Exécutez la commande de mise à jour du système pour vous assurer que tous les référentiels et autres packages installés sont dans leur dernier état.

sudo apt update

Étape 2 :Installez Sysdig sur différents systèmes Linux

Ubuntu 20.04/18.04 ou version antérieure

Dans le dernier système d'exploitation d'Ubuntu et de Linux Mint, nous n'avons pas besoin d'ajouter de référentiel et pouvons installer Sysdig en utilisant une seule commande, c'est-à-dire

sudo apt install sysdig

Cependant, dans Debian et d'autres distributions Linux basées sur celle-ci, exécutez le script ci-dessous qui ajoutera non seulement son dépôt mais installera également le Sysdig.

Avant le script, exécutez la commande pour installer curl et d'autres propriétés logicielles communes qui aident l'APT à gérer efficacement les logiciels provenant de différentes sources.

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

L'installation est entièrement automatisée et ne nécessite aucune autre intervention.

Installation de Sysdig sur CentOS, RHEL, Fedora, Amazon Linux

Ajouter le dépôt yum

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

ou

sudo dnf -y install sysdig

Installation de Sysdig sur CentOS

Installation de Docker Sysdig

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

Étape 3 :Comment utiliser les commandes Sysdig

La première commande simple de Sysdig pour afficher le processus en cours d'exécution, la consommation de mémoire par eux et plus encore ; tapez simplement :

sudo csysdig

Nous l'exécutons avec sudo car Sysdig doit accéder à certaines zones cruciales du système telles que le système de fichiers /proc, les périphériques /dev/sysdig* et bien plus encore pour vous fournir la charge actuelle et d'autres informations.

Quelque chose comme la sortie ci-dessous, vous verrez…

PID  :PID de processus.
CPU  :Quantité de CPU utilisée par le processus.
TH :Nombre de threads que contient le processus.
VIRT  :Mémoire virtuelle totale pour le processus.
RES  : Mémoire résidente non échangée pour le processus.
FILE  :bande passante d'E/S de fichier totale (entrée + sortie) générée par le processus, en octets par seconde.
NET  :bande passante d'E/S réseau totale (entrée + sortie) générée par le processus, en octets par seconde.
Commande :La ligne de commande complète du processus

Commande Sysdig pour voir le processus système

Dans la capture d'écran ci-dessus , vous pouvez voir les processus en cours d'exécution, la commande et leur impact sur l'utilisation du système (charge CPU et mémoire). Le menu ou l'affectation des touches se trouve en bas. Appuyez sur   F2 fera apparaître un autre menu, ici vous pouvez choisir ce que vous voulez regarder.

Commande Quick Sysdig pour surveiller le système Linux

Vous pouvez voir dans la capture d'écran ci-dessus les éléments clés que nous devons surveiller s'affichent sur le panneau latéral gauche du terminal de commande. Avec les touches fléchées, vous pouvez choisir ce qui vous intéresse, puis appuyer sur Entrée touche qui basculera l'interface vers le filtre correspondant.

Par exemple, pour tester les connexions nous avons sélectionné cela et ce qui suit montré.

Surveillance des connexions à l'aide de Sysdig

Cela vous montre quelles connexions sont actuellement connectées au serveur, par exemple, les sessions SSH actives avec le serveur multimédia plex. Si vous voulez creuser plus profondément pour en savoir plus, appuyez sur F6 .

Analyse approfondie des connexions réseau

De la même manière, sélectionnez Erreurs L'option affichera tous les processus qui ont échoué. Ils sont triés en fonction de la fréquence à laquelle ils se produisent.

Pour connaître le processus et le CPU total utilisé par eux, sélectionnez le "Process CPU " et appuyez sur Entrée Clé.

PID  :Processus PID.
TOT  :Quantité totale de CPU utilisée par le processus (utilisateur + système).
UTILISATEUR  :Quantité de CPU utilisateur utilisée par le processus.
SYS :Quantité de CPU système utilisée par le processus.
SYSCALLS :Nombre d'appels système par seconde effectués par le processus.
Commande :La ligne de commande complète du processus.

processus et CPU total

Sous Liste des fichiers ouverts , par exemple, vous trouverez une liste de tous les fichiers auxquels vous accédez actuellement et qui ou quel programme y accède.

E/S par type :  vous montre quel processus ou quel déclencheur est en train d'écrire et de lire combien sur le support de données. Il s'agit du taux de transfert, le nombre total de données déplacées ne peut pas être consulté ici.

BPS IN : Octets par seconde lus à partir des FD du type spécifique.
BPS OUT  :octets par seconde écrits dans les FD du type spécifique.
IOPS :Nombre d'opérations d'E/S pour la catégorie d'E/S spécifiée. Cela compte toutes les opérations sur le fichier, y compris ouvrir, fermer, lire, écrire, stat, etc. Par conséquent, cette valeur peut être non K8s Services zéro même si les octets d'E/S pour le fichier sont zéro.
TIME  :temps passé par les processus à effectuer toute opération d'E/S (y compris l'attente) de ce type.
Type d'E/S :Type d'E/S. Peut être un fichier, répertoire, ipv4, ipv6, pipe, Unix, signal, événement, inotifMesos Frameworks y

E/S par type

Sous  Espionner les utilisateurs , vous trouverez une liste de tous les processus qui ont été appelés par les utilisateurs - pas le système ou d'autres processus. Ici, vous pouvez voir les listes de toutes les commandes qui sont exécutées de manière interactive, c'est-à-dire qui ont un shell comme processus parent. Le résultat Fichiers est l'affichage de toute l'activité de l'utilisateur, triée par heure.

HEURE :Heure à laquelle la commande a été exécutée.
USER :Nom de l'utilisateur exécutant la commande.
SHELL :Pid du shell où cette commande a été exécutée. Cela correspond essentiellement à un "identifiant de session". Vous pouvez classer ou trier par cette colonne pour isoler une session utilisateur interactive spécifique.
Commande :La commande exécutée, y compris les arguments.

De même , nous pouvons explorer d'autres options pour surveiller nos systèmes Linux.

Si vous souhaitez obtenir des détails particuliers sur le système, tels que le processeur, le réseau, etc., vous pouvez également utiliser la commande directe correspondante. Comme dans la version pure Commandline, il y a tellement de paramètres, de variables et de filtres que je ne veux pas tous les lister ici. Vous pouvez trouver une liste complète de toutes les fonctions dans le Wiki Sysdig officiel.

En voici quelques-uns :

Pour surveiller directement le processus en fonction de l'utilisation du processeur, la commande est :

sudo sysdig -c topprocs_cpu

Commande de moniteur de processus CPU sysdig

La commande pour surveiller les deux connexions réseau 

sudo sysdig -c netstat

Toutes les connexions réseau Linux

Pour voir les principales connexions réseau et traiter par entrée/sortie réseau

sudo sysdig -c topconns
sudo sysdig -c topprocs_net

D'autres commandes rapides peuvent être vues en utilisant la commande :

 sudo sysdig -cl

Voici les commandes par catégorie :

Par exemple, je veux voir le journal des requêtes HTTP, la première commande donnée dans la liste ci-dessous. Pour l'utiliser, tapez simplement

sudo sysdig -c httplog

Celui en gras est la commande…

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
 

Pour connaître toutes les commandes associées et d'autres informations avec un exemple pour sysdig et csysdig outils, vous pouvez voir leur page de manuel :

man sysdig
man csysdig

Notes de fin pour Sysdig

Sysdig est un outil très complet pour suivre l'état actuel et la charge de votre système. Avec Csysdig il vous offre une interface interactive basée sur la ligne de commande confortable dans la console pour travailler efficacement. Vous pouvez créer des scripts efficaces et créer vos propres fichiers journaux personnalisés à l'aide de l'outil de ligne de commande lui-même.

Autres tutoriels Linux :

  • Comment modifier le délai d'expiration du menu GRUB au démarrage ?
  • Tutoriel sur l'installation du serveur OpenSSH sur Ubuntu 20.04 LTS

Debian
  1. Comment changer l'identité d'un système Linux

  2. Comment surveiller les performances du système Linux avec Sysstat

  3. Vérifiez la charge du système sous Linux

  4. Comment installer et utiliser Glances pour surveiller les systèmes Linux

  5. Comment installer 'convert' sur un système Linux ?

Comment installer Plesk sur un système Linux

Comment installer Monit sur Ubuntu 20.04 pour surveiller les services système

Linux - Comment installer X11 sur le propre système Linux Buildroot ?

Comment utiliser la commande fd sur le système Linux

Comment installer Sysdig pour surveiller votre système Linux

Comment surveiller les métriques système en temps réel à l'aide de l'outil Glances sous Linux