Sysdig - Un puissant outil de surveillance et de dépannage du système pour Linux
- 2679
- 89
- Victor Charpentier
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:
- Strace - Découvrez les appels du système et les signaux à un processus.
- TCPDUmp - Surveillance du trafic brut du réseau.
- netstat - surveillance des connexions réseau.
- HTOP - Surveillance des processus en temps réel.
- IFTOP - Surveillance de la bande passante du réseau en temps réel.
- 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 sysdigRegardez 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 csysdigSurveiller 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 sysdigSi vous souhaitez en savoir plus sur un ciseau particulier, utilisez le -je
drapeau:
$ sudo sysdig -i topprocs_cpuAfficher 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 -lVoir 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 = mongodCréer un fichier de trace MongoDB
Surveillance des processus Linux
Pour répertorier les processus système, tapez:
$ sudo sysdig -c psSurveiller 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_cpuSurveiller 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 netstatSurveiller 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_fdsMoniteur 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'étranglementDé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_timeTemps 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_usersSurveiller 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:
- BCC - outils de traçage dynamique pour la surveillance des performances Linux, le réseautage et plus
- Pydash - un outil de surveillance des performances Linux basé sur le Web
- Perf- Un outil de surveillance et d'analyse 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 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.
- « 23 Exemples de commandes PKG utiles pour gérer les packages dans FreeBSD
- Comment se connecter à MySQL sans mot de passe racine sur le terminal »