Sysdig est un outil de surveillance et de dépannage de système open-source, multiplateforme, puissant et flexible pour Linux ; il fonctionne également sur Windows et Mac OSX mais avec des fonctionnalités limitées et peut être utilisé pour l’analyse, l’inspection et le débogage du système.
Normalement, vous utiliseriez un mélange de divers outils de surveillance et de dépannage des performances de Linux y compris ceux énumérés ci-dessous pour effectuer les tâches de surveillance et de débogage de Linux :
- strace – découvrir les appels système et les signaux à un processus.
- tcpdump – surveillance du trafic réseau brut.
- netstat – surveillance des connexions réseau.
- htop – surveillance des processus en temps réel.
- iftop – surveillance de la bande passante réseau en temps réel
- lsof – voir quels fichiers sont ouverts par quel processus.
Cependant, sysdig intègre ce que tous les outils ci-dessus et bien d’autres offrent dans un programme unique et simple, avec un incroyable support des conteneurs. Il vous permet de capturer, enregistrer, filtrer et examiner le comportement réel (flux d’événements) des systèmes Linux ainsi que des conteneurs.
Il est doté d’une interface en ligne de commande et d’une puissante interface utilisateur interactive (csysdig) qui vous permettent de surveiller en temps réel l’activité du système, ou d’effectuer une trace, de l’enregistrer pour une analyse ultérieure. Vous pouvez voir comment csysdig fonctionne dans la vidéo ci-dessous.
Fonctionnalités de Sysdig:
- Il est rapide, stable et facile à utiliser, avec une documentation complète.
- Offre une prise en charge native des technologies de conteneurs, y compris Docker, LXC.
- Il est scriptable en Lua ; propose des ciseaux (scripts Lua légers) pour le traitement des événements système capturés.
- Prise en charge utile du filtrage des sorties.
- Prise en charge de la traçabilité du système et des applications.
- Il peut être intégré avec Ansible, Puppet et Logstash.
- Permet une analyse avancée des journaux.
- Offre également des fonctionnalités d’analyse des attaques serveur Linux (forensics) pour les hackers éthiques et bien d’autres.
Dans cet article, nous allons vous montrer comment installer sysdig sur un système Linux, et l’utiliser avec des exemples de base d’analyse, de surveillance et de dépannage du système.
Comment installer Sysdig sur Linux
L’installation du paquet sysdig est aussi simple que d’exécuter la commande ci-dessous, qui vérifiera toutes les exigences; si tout est en place, il téléchargera et installera le paquet depuis le dépôt Draios APT/YUM.
# curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | bash OR $ curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash
Après l’avoir installé, vous devez exécuter sysdig en tant que root car il nécessite un accès à des zones critiques telles que le système de fichiers /proc, les périphériques /dev/sysdig* et doit charger automatiquement le module noyau sysdig-probe (au cas où il ne le serait pas); sinon utilisez la commande sudo.
L’exemple le plus basique est de l’exécuter sans aucun argument, cela vous permettra de visualiser le flux d’événements de votre système Linux mis à jour en temps réel:
$ sudo sysdig

La sortie ci-dessus (données brutes) ne vous semble peut-être pas très claire, pour une sortie plus utile exécutez csysdig:
$ sudo csysdig

Note: Pour vraiment comprendre cet outil, vous devez utiliser sysdig qui produit des données brutes comme nous l’avons vu précédemment, à partir d’un système Linux en cours d’exécution: cela nécessite que vous compreniez comment utiliser les filtres et les ciseaux.
Mais si vous avez besoin d’une manière sans douleur d’utiliser sysdig – continuez avec csysdig.
Comprendre les Ciseaux et Filtres Sysdig
Les ciseaux Sysdig sont des scripts Lua minimaux pour examiner le flux d’événements sysdig afin d’effectuer des actions utiles de dépannage système et plus encore. La commande ci-dessous vous aidera à voir tous les ciseaux disponibles:
$ sudo sysdig -cl
La capture d’écran montre un échantillon de ciseaux sous différentes catégories.

Si vous souhaitez obtenir plus d’informations sur un ciseau particulier, utilisez le drapeau -i
:
$ sudo sysdig -i topprocs_cpu

Les filtres Sysdig ajoutent plus de puissance au type de sortie que vous pouvez obtenir à partir des flux d’événements, ils vous permettent de personnaliser la sortie. Vous devez les spécifier à la fin d’une ligne de commande.
A straightforward and commonest filter is a basic “class.field=value” check, you can also combine chisels with filters for even more powerful customizations.
Pour afficher une liste des classes de champs disponibles, des champs et de leurs descriptions, tapez:
$ sudo sysdig -l

Création d’un fichier de trace système Linux
Pour décharger la sortie sysdig dans un fichier pour une analyse ultérieure, utilisez le drapeau -w
comme ceci.
Vous pouvez lire le fichier de vidage de trace en utilisant le drapeau -r:
$ sudo sysdig -r trace.scap
L’option -s
est utilisée pour spécifier la quantité d’octets de données à capturer pour chaque événement système. Dans cet exemple, nous filtrons les événements pour le processus mongod.
$ sudo sysdig -s 3000 -w trace.scap $ sudo sysdig -r trace.scap proc.name=mongod

Surveillance des processus Linux
Pour lister les processus système, tapez:
$ sudo sysdig -c ps

Surveiller les processus par utilisation du CPU
Pour surveiller les principaux processus par pourcentage d’utilisation du CPU, exécutez cette commande:
$ sudo sysdig -c topprocs_cpu

Surveillance des connexions réseau et des E/S
Pour afficher les connexions réseau du système, exécutez:
$ sudo sysdig -c netstat

La commande suivante vous aidera à lister les principales connexions réseau par octets totaux:
$ sudo sysdig -c topconns
Ensuite, vous pouvez également lister les principaux processus par E/S réseau comme suit:
$ sudo sysdig -c topprocs_net
Surveillance des E/S de fichiers système
Vous pouvez afficher les données lues et écrites par les processus sur le système comme suit:
$ sudo sysdig -c echo_fds

Pour lister les principaux processus par octets de disque (lecture + écriture), utilisez:
$ sudo sysdig -c topprocs_file
Dépannage des performances d’un système Linux
Pour surveiller les goulots d’étranglement du système (appels système lents), exécutez cette commande :
$ sudo sysdig -c bottlenecks

Suivi du temps d’exécution d’un processus
Pour suivre le temps d’exécution d’un processus, vous pouvez exécuter cette commande et enregistrer la trace dans un fichier :
$ sudo sysdig -w extime.scap -c proc_exec_time

Ensuite, utilisez un filtre pour vous concentrer sur les détails d’un processus particulier (postgres dans cet exemple) comme suit :
$ sudo sysdig -r extime.scap proc.name=postgres
Découverte des lenteurs des entrées/sorties réseau
Cette commande simple vous aidera à détecter les lenteurs des entrées/sorties réseau :
$ sudo sysdig -c netlower
Surveillance des entrées de fichiers journaux
La commande ci-dessous vous permet d’afficher chaque message écrit dans syslog, si vous êtes intéressé par les entrées de journal pour un processus spécifique, créez une trace et filtrez-la en conséquence comme indiqué précédemment :
$ sudo sysdig -c spy_syslog
Vous pouvez imprimer toutes les données écrites par n’importe quel processus dans un fichier journal comme suit :
$ sudo sysdig -c spy_logs
Surveillance des requêtes du serveur HTTP
Si vous avez un serveur HTTP tel qu’Apache ou Nginx en cours d’exécution sur votre système, consultez le journal des requêtes du serveur avec cette commande :
$ sudo sysdig -c httplog $ sudo sysdig -c httptop [Print Top HTTP Requests]

Affichage des shells de connexion et de l’activité des utilisateurs interactifs
La commande ci-dessous vous permettra de voir tous les identifiants de shell de connexion :
$ sudo sysdig -c list_login_shells
Enfin, vous pouvez afficher l’activité interactive des utilisateurs du système comme ceci :
$ sudo sysdig -c spy_users

Pour plus d’informations d’utilisation et d’exemples, consultez les pages de manuel de sysdig et csysdig :
$ man sysdig $ man csysdig
Référence : https://www.sysdig.org/
Consultez également ces outils utiles de surveillance des performances Linux :
- BCC – Outils de traçage dynamique pour la surveillance des performances, le réseautage et plus sur Linux
- pyDash – Un outil de surveillance des performances Linux basé sur le Web
- Perf – Un outil d’analyse et de surveillance des performances pour Linux
- Collectl : Un outil avancé de surveillance des performances tout-en-un pour Linux
- Netdata – Un outil de surveillance des performances en temps réel pour les systèmes Linux
Conclusion
Sysdig regroupe les fonctionnalités de nombreux outils en ligne de commande dans une interface remarquable, vous permettant ainsi d’explorer en profondeur les événements de votre système Linux pour collecter des données, les sauvegarder pour une analyse ultérieure et offre un incroyable support de conteneur.
Pour poser des questions ou partager des réflexions sur cet outil, utilisez le formulaire de feedback ci-dessous.
Source:
https://www.tecmint.com/sysdig-system-monitoring-and-troubleshooting-tool-for-linux/