Sysdig - Un puissant outil de surveillance et de dépannage du système pour Linux

Sysdig - Un puissant outil de surveillance et de dépannage du système pour Linux

Sysdig est un outil de surveillance et de dépannage de la surveillance et de dépannage puissants et flexibles puissants 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 Linux, y compris ceux énumérés ci-dessous pour effectuer les tâches de surveillance et de débogage Linux:

  1. Strace - Découvrez les appels du système et les signaux à un processus.
  2. TCPDUmp - Surveillance du trafic brut du réseau.
  3. netstat - surveillance des connexions réseau.
  4. HTOP - Surveillance des processus en temps réel.
  5. IFTOP - Surveillance de la bande passante du réseau en temps réel.
  6. LSOF - Afficher les fichiers 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, plus encore avec un support de conteneur incroyable. Il vous permet de capturer, d'économiser, de filtrer et d'examiner le comportement réel (flux d'événements) des systèmes Linux ainsi que des conteneurs.

Il est livré avec une interface de ligne de commande et une puissante interface utilisateur interactive (csysdig) qui vous permet de regarder l'activité du système en temps réel, ou d'effectuer un vidage de trace et d'économiser pour une analyse ultérieure. Vous pouvez regarder comment CSYSDIG fonctionne à partir de la vidéo ci-dessous.

Caractéristiques sysdig:

  • Il est rapide, stable et facile à utiliser avec une grande envergure.
  • Livré avec un support natif pour les technologies de conteneurs, y compris Docker, LXC.
  • Il est scriptable dans Lua; Offre des ciseaux (scripts LUA légers) pour le traitement des événements système capturés.
  • Prend en charge le filtrage utile de la sortie.
  • Prend en charge le traçage du système et des applications.
  • Il peut être intégré à ANSIBLE, PUPPET ET LOGNETH.
  • Activer l'exemple d'analyse de journaux avancés.
  • Il offre également des fonctionnalités d'analyse d'attaque de serveur Linux (Forensics) pour les pirates éthiques et plus.

Dans cet article, nous montrerons 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 en linux

Installation sysdig Le package 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 package du référentiel Draios APT / YUM.

# curl -s https: // s3.Amazonaws.com / téléchargement.draios.com / stable / install-sysdig | bash ou $ curl -s https: // s3.Amazonaws.com / téléchargement.draios.com / stable / install-sysdig | Sudo Bash 

Après l'avoir installé, vous devez courir sysdig comme racine car il nécessite l'accès à des zones critiques telles que / proc système de fichiers, / dev / sysdig * dispositifs et besoins pour télécharger automatiquement le module du noyau sysdig-probs (dans le cas où il ne l'était pas); Sinon, utilisez la commande sudo.

L'exemple le plus élémentaire est de l'exécuter sans aucun argument, cela vous permettra de visualiser votre flux d'événements System Linux mis à jour en temps réel:

$ sudo sysdig 
Regardez les événements du système Linux

La sortie ci-dessus (données brutes) n'a peut-être pas beaucoup de sens pour vous, pour une exécution de sortie plus utile csysdig:

$ sudo csysdig 
Surveiller les événements du système Linux

Note: Pour avoir la vraie sensation de cet outil, vous devez utiliser sysdig qui produit des données brutes comme nous l'avons vu auparavant, à partir d'un système Linux en cours d'exécution: il vous faut comprendre comment utiliser les filtres et les ciseaux.

Mais si vous avez besoin d'un moyen indolore d'utiliser sysdig - continue avec csysdig.

Comprendre les ciseaux et les filtres sysdig

Ciseaux sysdig sont des scripts LUA minimaux pour examiner le flux d'événements Sysdig pour effectuer des actions de dépannage du système utile et plus. La commande ci-dessous vous aidera à voir tous les ciseaux disponibles:

$ sudo sysdig -cl 

La capture d'écran montre un exemple de liste de ciseaux dans différentes catégories.

Afficher les ciseaux sysdig

Si vous souhaitez en savoir plus sur un ciseau particulier, utilisez le -je drapeau:

$ sudo sysdig -i topprocs_cpu 
Afficher les informations de burin Sysdig

Les filtres Sysdig ajoutent plus d'alimentation au type de sortie que vous pouvez obtenir à partir de flux d'événements, ils vous permettent de personnaliser la sortie. Vous devez les spécifier à la fin d'une ligne de commande.

Un filtre le plus simple et le plus commun est un base «classe.champ = valeur«Vérifiez, vous pouvez également combiner des ciseaux avec des filtres pour des personnalisations encore plus puissantes.

Pour afficher une liste des classes de terrain disponibles, des champs et de leurs descriptions, Type:

$ sudo sysdig -l 
Voir les cours de terrain Sysdig

Création du fichier de trace du système Linux

Pour vider la sortie sysdig dans un fichier pour une analyse ultérieure, utilisez le -w Flag comme ça.

Vous pouvez lire le fichier de vidage de trace à l'aide du -r drapeau:

$ sudo sysdig -r trace.faire un scap 

Le -s L'option 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 des événements pour le mongode processus.

$ sudo sysdig -s 3000 -w trace.SCAP $ sudo sysdig -r trace.scap proc.name = mongod 
Créer un fichier de trace MongoDB

Surveillance des processus Linux

Pour répertorier les processus système, tapez:

$ sudo sysdig -c ps 
Surveiller les processus Linux

Surveiller les processus par utilisation du processeur

Pour regarder les meilleurs processus par pourcentage d'utilisation du processeur, exécutez cette commande:

$ sudo sysdig -c topprocs_cpu 
Surveiller les processus par utilisation du processeur

Surveillance des connexions du réseau et des E / S

Pour afficher les connexions du réseau système, exécutez:

$ sudo sysdig -c netstat 
Surveiller les connexions du réseau

La commande suivante vous aidera à énumérer les principales connexions réseau par total d'octets:

$ sudo sysdig -c topconns 

Ensuite, vous pouvez également répertorier les meilleurs processus par des E / S de réseau comme suit:

$ sudo sysdig -c topprocs_net 

Surveillance des E / S du fichier système

Vous pouvez sortir les données lues et écrites par des processus sur le système comme ci-dessous:

$ sudo sysdig -c echo_fds 
Moniteur Système IO

Pour répertorier les principaux processus par (lire + écrire) des octets de disque, utilisez:

$ sudo sysdig -c topprocs_file 

Dépannage d'une performance du système Linux

Pour garder un œil sur les goulots d'étranglement du système (appels système lents), exécutez cette commande:

$ sudo sysdig -c goulots d'étranglement 
Dépanner les performances Linux

Suivre le temps d'exécution d'un processus

Pour suivre le temps d'exécution d'un processus, vous pouvez exécuter cette commande et vider la trace dans un fichier:

$ sudo sysdig -w.SCAP -C Proc_exec_time 
Temps d'exécution du processus de suivi

Ensuite, utilisez un filtre pour zéro sur les détails d'un processus particulier (postgres Dans cet exemple) comme suit:

$ sudo sysdig -r.scap proc.nom = Postgres 

Découvrir le réseau lent I / 0

Cette commande simple vous aidera à détecter le réseau lent I / 0:

$ sudo sysdig -c netlower 

Regarder les entrées de fichiers de journal

La commande ci-dessous vous aide à afficher chaque message écrit à Syslog, si vous êtes intéressé par les entrées de journal pour un processus spécifique, créez un vidage de trace et filtrez-le en conséquence comme indiqué précédemment:

$ sudo sysdig -c spy_syslog 

Vous pouvez imprimer toutes les données rédigées par n'importe quel processus dans un fichier journal comme suit:

$ sudo sysdig -c spy_logs 

Surveillance des demandes de serveur HTTP

Si vous avez un serveur HTTP tel qu'Apache ou Nginx en cours d'exécution sur notre système, consultez le journal des demandes du serveur avec cette commande:

$ sudo sysdig -c httplog $ sudo sysdig -c httptop [imprimer les demandes http top http] 
Surveiller les demandes HTTP

Afficher les coquilles de connexion et l'activité utilisateur interactive

La commande ci-dessous vous permettra de visualiser tous les ID de shell de connexion:

$ sudo sysdig -c list_login_shells 

Enfin et surtout, vous pouvez afficher une activité interactive des utilisateurs du système comme tel:

$ sudo sysdig -c spy_users 
Surveiller l'activité de l'utilisateur

Pour plus d'informations et d'exemples d'utilisation, lisez les pages Sysdig et Csysdig Man:

$ man sysdig $ man csysdig 

Référence: https: // www.sysdig.org /

Vérifiez également ces outils de surveillance des performances Linux utiles:

  1. BCC - outils de traçage dynamique pour la surveillance des performances Linux, le réseautage et plus
  2. Pydash - un outil de surveillance des performances Linux basé sur le Web
  3. Perf- Un outil de surveillance et d'analyse des performances pour Linux
  4. Collectl: un outil avancé de surveillance des performances tout-en-un pour Linux
  5. NetData - Un outil de surveillance des performances en temps réel pour les systèmes Linux
Conclusion

Sysdig rassemble les fonctionnalités de de nombreux outils de ligne de commande dans une interface remarquable, vous permettant ainsi de creuser profondément dans vos événements du système Linux pour recueillir des données, sauf pour une analyse ultérieure et il offre un support de conteneurs incroyable.

Pour poser des questions ou partager des réflexions sur cet outil, utilisez le formulaire de rétroaction ci-dessous.