S'il est normal de voir déjà WSL sur Windows 10, il y a d'autres domaines à explorer. L'un d'eux se retrouve dans le domaine des applications et des services, de plus en plus présents. Le plus récent est le bien connu ProcMon, qui vient d'arriver sur Linux sous la licence MIT.
Parler de Procmon, Process Explorer et d'autres outils Sysinternals revient, pour beaucoup, à se souvenir d'un ensemble d'outils très anciens qui, pendant de nombreuses années, ont été le complément parfait de Windows, car ils offrent une approche beaucoup plus approfondie de certains éléments du système qui ne sont pas aussi facilement accessibles sur les outils et fonctions inclus dans le système d'exploitation..
Process Monitor est un outil de surveillance avancé pour Windows qui affiche le système de fichiers en temps réel, le registre et l'activité des processus / threads. Il combine les fonctionnalités de deux utilitaires Sysinternals hérités, Filemon et Regmon, et ajoute une liste complète d'améliorations, notamment un filtrage riche et non destructif, des propriétés d'événement complètes telles que les ID de session et les noms d'utilisateur, des informations de processus fiables, des piles de threads complètes avec prise en charge des symboles intégrés pour chaque opération, la journalisation simultanée dans un fichier, et bien plus encore. Ses puissantes fonctionnalités pourraient faire de Process Monitor un utilitaire intéressant dans votre boîte à outils de dépannage système et de recherche de logiciels malveillants.
Process Monitor comprend de puissantes capacités de surveillance et de filtrage, notamment:
- Plus de données capturées pour les paramètres d'entrée et de sortie de l'opération.
- Les filtres non destructifs vous permettent de définir des filtres sans perdre de données.
- La capture des piles de threads pour chaque opération qui permet dans de nombreux cas d'identifier la cause première d'une opération.
- La capture fiable des détails du processus, y compris le chemin de l'image, la ligne de commande, l'ID utilisateur et de session.
- Des colonnes configurables et mobiles pour toute propriété d'événement.
- Des filtres qui peuvent être définis pour n'importe quel champ de données, y compris les champs non configurés en tant que colonnes.
- L'architecture de journalisation avancée qui s'adapte à des dizaines de millions d'événements capturés et à des gigaoctets de données de journal.
- L'outil d'arborescence de processus qui montre la relation de tous les processus référencés dans une trace.
- Le format de journal natif qui préserve toutes les données pour le chargement dans une autre instance de Process Monitor.
- Une infobulle de processus pour une visualisation facile des informations d'image de processus.
- Une infobulle de détail qui permet un accès pratique aux données formatées qui ne tiennent pas dans la colonne.
- Une recherche annulable.
- Une journalisation du temps de démarrage de toutes les opérations.
Bien entendu, la version proposée sur Linux n'est pas à proprement parler la même que celle qui est disponible pour Windows. La description donnée par les responsables du projet sur la page GitHub est la suivante : " Process Monitor (Procmon) est une réinvention Linux de l'outil classique Procmon du jeu d'outils Sysinternals pour Windows. Procmon fournit aux développeurs Linux un moyen pratique et efficace de suivre l'activité des appels système sur le système. " Il faut comprendre, par conséquent, que cette version ne part pas nécessairement du même code, bien qu'elle reproduise les mêmes fonctions ou, du moins, les plus importantes.
Toutes les instructions pour installer et utiliser ProcMon sont disponibles sur la page GitHub. Bien sûr, il peut être compilé à partir de zéro ou simplement installé à partir d'un référentiel avec la commande apt-get.
De même, Microsoft a également rendu disponible sous Linux ProcDump, un des nombreux outils de la suite « Sysinternals ». Procdump est un utilitaire de ligne de commande dont le but principal est de surveiller une application à la recherche de pics de CPU et de générer des dump mémoire (capture de toute ou partie de la mémoire d’un processus) suite à des problématiques logicielles (comme le plantage) pendant un pic qu'un administrateur ou un développeur peut utiliser pour déterminer la cause du pic. ProcDump comprend également la surveillance des fenêtres bloquées (en utilisant la même définition de fenêtre que Windows et le Gestionnaire des tâches utilisent), la surveillance des exceptions non gérées et peut générer des dump mémoire en fonction des valeurs des compteurs de performances système. Il peut également servir d'utilitaire de dump mémoire de processus général que vous pouvez intégrer dans d'autres scripts.
Il génère par défaut des dump dans le « bitness » du processus, évitant les problèmes de format que l’on peut rencontrer avec le gestionnaire de tâches. En plus de cela il comporte de nombreuses options, ce qui en fait un outil de premier choix pour créer des dump mémoire. Une des particularités de ProcDump est qu’il sait générer des dumps complets (« Full dump » ) ou des dumps partiels. Un dump complet comporte toute la mémoire du processus : mémoire allouée, ensemble des exécutables (fichiers .exe et .dll), etc. C’est ce type de dump que fait le gestionnaire des tâches. Or un tel dump est généralement très volumineux (souvent > 1Go), alors que dans de nombreux cas on peut se contenter d’un dump plus léger.
Dans sa description, Microsoft explique que "ProcDump est une réinvention Linux de l'outil ProcDump classique de la suite d'outils Sysinternals pour Windows. ProcDump offre aux développeurs Linux un moyen pratique de créer des core dumps de leur application en fonction de déclencheurs de performances." Un core dump est une copie de la mémoire vive et des registres d'un processeur, permettant d'avoir un instantané de l'état d'un système. Il sert généralement à des fins d'analyse, suite à une exception, forcée ou provoquée par une erreur.
Il s'agit d'une autre étape importante pour Microsoft. Avec de plus en plus d'entreprises utilisant Linux dans le service Azure, il est important d'avoir les outils que les administrateurs ont l'habitude d'utiliser et dans lesquels ils ont confiance.
Sources : GitHub Microsoft (ProcMon, ProcDump)
Et vous ?
Que pensez-vous de cette décision de Microsoft ?