Article d’origine publié le jeudi 8 mars 2012

Toute personne qui utilise régulièrement Log Parser 2.2 sait combien cet outil peut être utile et puissant pour obtenir des renseignements précieux de IIS (Internet Information Server) et d’autres journaux. En outre, l’ajout de la puissance de SQL permet la recherche explicite de gigaoctets de journaux en retournant uniquement les données nécessaires tout en filtrant les parasites. La seule chose manquante est une interface graphique (GUI) conviviale pour fonctionner en frontal de Log Parser et une « bibliothèque de requêtes » afin de gérer toutes les requêtes et scripts géniaux qu’on accumule au fil du temps.

Log Parser Studio a été créé pour répondre à ce besoin ; en permettant à ceux qui utilisent Log Parser 2.2 (et même à ceux qui ne l’utilisent pas en raison de l’absence d’interface) de travailler plus rapidement et plus efficacement pour obtenir les données dont ils ont besoin avec moins de « bricolage » pour les scripts et les dossiers pleins de requêtes.

Avec Log Parser Studio (LPS), nous pouvons héberger toutes nos requêtes dans un emplacement central. Nous pouvons modifier et créer de nouvelles requêtes dans l’éditeur de requête et les enregistrer pour plus tard. Nous pouvons rechercher des requêtes à l’aide de la recherche en texte libre ainsi qu’exporter et importer des bibliothèques et des requêtes dans différents formats, ce qui facilite la collaboration, et enfin stocker plusieurs types de bibliothèques distinctes pour différents protocoles.

Traitement des journaux pour les protocoles Exchange

Nous savons tous cela très bien : le traitement des journaux pour différents protocoles Exchange est une tâche chronophage. En l’absence d’outils spécialisés, passer au crible ces journaux et les traiter à l’aide de Log Parser (ou d’un autre outil) devient une tâche fastidieuse pour un administrateur Exchange si le format de sortie est important. Il faut également de l’expertise pour écrire ces requêtes SQL. Vous pouvez également utiliser des scripts spéciaux qu’on peut trouver sur le Web, puis analyser la sortie pour extraire une certaine logique de ces journaux interminables. Log Parser Studio est principalement conçu pour le traitement rapide et facile des différents journaux des protocoles Exchange. Après l’avoir lancé, vous remarquerez des onglets pour les différents protocoles Exchange, c’est-à-dire Microsoft Exchange ActiveSync (MAS), Exchange Web Services (EWS), Outlook Web App (OWA/HTTP) et autres. Sous ces onglets, il y a des dizaines de requêtes SQL écrites à des fins spécifiques (la description et d’autres détails sur la requête sont également disponibles dans l’interface utilisateur principale) et qui sont exécutables par simple clic !

Voyons dans les détails certaines fonctions sympa de Log Parser Studio

Gestion et bibliothèque de requêtes

Au lancement de LPS, la première chose que vous allez voir est la Bibliothèque de requêtes préchargée de requêtes. C’est là où nous gérons tous nos requêtes. La bibliothèque est toujours disponible en cliquant sur l’onglet Bibliothèque. Vous pouvez charger une requête pour l’examiner ou l’exécuter au moyen de plusieurs méthodes. La méthode la plus simple est de simplement sélectionner la requête dans la liste et de double-cliquer dessus. Sur ce, la requête s’ouvrira automatiquement dans son propre onglet Requête. La Bibliothèque de requêtes est la base d’accueil des requêtes. Toutes les requêtes maintenues par LPS sont stockées dans cette bibliothèque. Il y a des contrôles faciles pour localiser rapidement les requêtes voulues et les marquer comme favorites pour un accès rapide par la suite.

image

Récupération de la bibliothèque

La bibliothèque initiale qui est livrée avec LPS est incorporée dans l’application et créée à l’installation. Si jamais vous supprimez, corrompez ou perdez la bibliothèque, vous pouvez facilement rétablir celle d’origine en utilisant la fonction de récupération de la bibliothèque (Options | Récupérer bibliothèque). Lors de la récupération de la bibliothèque, toutes les requêtes existantes seront supprimées. Si vous avez des requêtes personnalisées/modifiées que vous ne voulez pas perdre, vous devez d’abord les exporter, puis après avoir récupéré l’ensemble des requêtes par défaut, les fusionner dans LPS.

Importation/Exportation

Selon vos besoins, la bibliothèque entière ou des sous-ensembles de la bibliothèque peuvent être importés et exportés dans le format XML (format par défaut de LPS) ou sous forme de requêtes SQL. Par exemple, si vous avez un dossier plein de requêtes SQL de Log Parser, vous pouvez en importer certaines ou la totalité d’entre elles dans la bibliothèque de LPS. Habituellement, la seule chose à faire après l’importation se résume à quelques ajustements. Tout ce dont LPS a besoin c’est la requête SQL de base et permuter les références de nom de fichier avec [LOGFILEPATH] ou [OUTFILEPATH], comme indiqué dans le Manuel PDF fourni avec l’outil (vous pouvez y accéder via LPS | Aide | Documentation).

Requêtes

N’oubliez pas qu’une requête bien écrite et structurée fait toute la différence entre une requête réussie qui renvoie l’information concise dont vous avez besoin par rapport à une requête médiocre qui accable votre système, retourne beaucoup plus d’informations que nécessaire et, dans certains cas, bloque l’application.

image

L’art de créer des requêtes SQL/Log Parser de qualité n’est pas l’objet de ce billet, cependant toutes les requêtes incluses avec LPS ont été écrites pour atteindre les résultats les plus concis en retournant le moins d’enregistrements possibles. Savoir ce que vous voulez et comment l’obtenir avec le moins de lignes renvoyées possibles, voilà la clé !

Travail par lots et multithreading

Vous trouverez que LPS en combinaison avec Log Parser 2.2 est un outil très puissant. Si tout ce que vous pouviez faire se résumait à exécuter une seule requête à la fois et attendre les résultats, vous seriez bien en-deçà des progrès possibles. En effet, LPS offre les travaux par lots et les requêtes multithread.

Un traitement par lots est simplement un ensemble de requêtes prédéfinies qui peuvent toutes être exécutées en un seul clic. Dans le Gestionnaire du traitement par lots vous pouvez supprimer une ou toutes les requêtes, mais aussi les exécuter. Vous pouvez également les exécuter en cliquant sur le bouton Exécuter plusieurs requêtes ou sur le bouton Exécuter dans le Gestionnaire du traitement par lots. À l’exécution, LPS préparera et exécutera chaque requête dans le lot. Par défaut, LPS enverra TOUTES les requêtes à Log Parser 2.2 dès que chacune est prête. C’est là que le multithreading travaille en notre faveur. Par exemple, si nous avons 50 requêtes configurées dans un travail par lots et que nous exécutons ce travail, nous aurons 50 threads en arrière-plan, tous travaillant avec Log Parser en même temps, laissant l’utilisateur libre de travailler à d’autres requêtes. Au fur et à mesure que chaque travail se termine, les résultats sont passés à la grille ou au CSV de sortie en fonction du type de requête. Même dans ce scénario, vous pouvez continuer à travailler à d’autres requêtes, rechercher, modifier et exécuter. Au fur et à mesure que chaque requête s’achève, son thread est retiré et ses ressources libérées. Ces threads sont gérés très efficacement en arrière-plan, donc l’exécution de plusieurs requêtes à la fois ne doit pas présenter de problème.

image

Et maintenant si nous ne voulions pas que les requêtes du lot s’exécutent simultanément pour des raisons de performance ou autres ? Cette fonctionnalité est déjà intégrée aux options de LPS. Il suffit de l’indiquer dans LPS | Options | Préférences en cochant la case Traiter les requêtes batch séquentiellement. Lorsque cette case est activée, la première requête du lot est exécutée et la requête suivante ne commencera pas tant que la première n’est pas terminée. Ce processus se poursuivra jusqu’à ce que la dernière requête du lot ait été exécutée.

Automatisation

En conjonction avec le travail par lots, l’automatisation permet le traitement planifié et sans surveillance des lots. Par exemple, nous pouvons créer une tâche planifiée qui exécutera automatiquement un traitement par lots donné qui exploite un ensemble de dossiers personnalisés. Ce processus requiert deux composants, un fichier de liste de dossiers (.FLD) et un fichier de liste de commandes (.XML). Nous les créons à l’avance depuis LPS. Pour plus de détails sur la façon de procéder, veuillez consulter le manuel.

Graphiques

De nombreuses requêtes qui retournent des données à la Grille de résultats peuvent être tracées à l’aide de la fonctionnalité graphique intégrée. Les exigences de base pour les graphiques sont les mêmes que pour Log Parser 2.2, c’est-à-dire :

  1. La première colonne de la grille peut être de n’importe quel type de données (chaîne, nombre, etc.)
  2. La deuxième colonne doit être d’un type de nombre (Integer, Double, Decimal), les chaînes ne sont pas autorisées

Gardez les prescriptions ci-dessus à l’esprit lorsque vous créez vos propres requêtes, de sorte à écrire consciemment la requête afin d’inclure un nombre en colonne 2. Pour générer un graphique, cliquez sur le bouton de graphique une fois la requête terminée. Pour le point n°2 ci-dessus, même si vous avez oublié ce fait, vous pouvez par la suite faire glisser toute colonne numérotée et la déposer en deuxième colonne. De cette façon, si vous avez plusieurs colonnes numérotées, vous pouvez simplement faire glisser celle qui vous intéresse en deuxième colonne et générer différents graphiques à partir des mêmes données. Encore une fois, pour plus de détails sur la fonction graphique, veuillez consulter le manuel.

image

Raccourcis clavier/Commandes

Il existe plusieurs raccourcis clavier intégrés à LPS. Vous pouvez visualiser la liste à tout temps pendant l’utilisation de LPS en cliquant sur LPS | Aide | Raccourcis clavier. Les raccourcis actuellement inclus sont les suivants :

Raccourci Ce qu’il fait
CTRL+N Lancer une nouvelle requête.
CTRL+S Enregistrer une requête active dans l’onglet Bibliothèque ou Requête selon lequel a le focus.
CTRL+Q Ouvrir la fenêtre de bibliothèque.
CTRL+B Ajouter une requête sélectionnée dans la bibliothèque au lot.
ALT+B Ouvrir le gestionnaire du traitement par lots.
CTRL+B Ajouter les requêtes sélectionnées au lot.
CTRL+D Dupliquer la requête active actuelle sur un nouvel onglet.
CTRL+ALT+E Ouvrir le journal des erreurs s’il en existe un.
CTRL+E Exporter les résultats de la requête actuellement sélectionnée au format CSV.
ALT+F Ajouter la requête sélectionnée dans la bibliothèque à la liste des favoris.
CTRL+ALT+L Ouvrir la bibliothèque brute dans le premier éditeur de texte disponible.
CTRL+F5 Recharger la bibliothèque à partir du disque.
F5 Exécuter la requête active.
F2 Modifier le nom ou la description de la requête actuellement sélectionnée dans la bibliothèque.
F3 Afficher la liste des champs IIS.

Types d’entrée et de sortie pris en charge

Log Parser 2.2 a la capacité d’interroger plusieurs types de journaux. Comme LPS est en cours de développement, seuls les types les plus utilisés sont actuellement disponibles. Des types d’entrée et de sortie supplémentaires seront ajoutés lorsque c’est possible dans les prochaines versions ou mises à jour.

Types d’entrée pris en charge

Prise en charge complète de W3SVC/IIS, CSV, Erreur HTTP et prise en charge de base pour tous les formats d’entrée intégrés de Log Parser 2.2. Plus certains formats LPS écrits personnalisés tels que les formats spécifiques de Microsoft Exchange qui ne sont pas disponibles avec l’installation par défaut de Log Parser 2.2.

Types de sortie pris en charge

CSV et TXT sont les types de fichier de sortie actuellement pris en charge.

Log Parser Studio - Guide de démarrage rapide

Si vous voulez sauter tous les détails et exécuter certaines requêtes dès maintenant, commencez ici…

La toute première chose que Log Parser Studio a besoin de savoir, c’est l’emplacement des fichiers journaux et l’emplacement par défaut où les requêtes qui exportent leurs résultats dans des fichiers CSV enregistreront ces fichiers.

1. Configurez votre chemin par défaut de sortie CSV :

a. Allez à LPS | Options | Préférences | Chemin de sortie par défaut.

b. Recherchez et sélectionnez le dossier que vous souhaitez utiliser pour les résultats exportés.

c. Cliquez sur Appliquer.

d. Toutes les requêtes qui exportent des fichiers CSV seront désormais enregistrées dans ce dossier.
Remarque : si vous oubliez de définir ce chemin avant de commencer, les fichiers CSV seront enregistrés dans le dossier %AppData%\Microsoft\Log Parser Studio par défaut, mais il est recommandé de les déplacer vers un autre emplacement.

2. Indiquez à LPS où les fichiers journaux se trouvent en ouvrant le Gestionnaire des fichiers journaux. Si vous essayez d’exécuter une requête avant d’avoir terminé cette étape, LPS vous demandera de définir le chemin d’accès aux journaux. En cliquant sur OK à l’invite, le Gestionnaire des fichiers journaux s’affiche. Cliquez sur Ajouter un dossier pour ajouter un dossier ou sur Ajouter un fichier pour ajouter un ou plusieurs fichiers. Lors de l’ajout d’un dossier, vous devez toujours sélectionner au moins un fichier pour que LPS sache avec quel type de journal vous travaillez. Ainsi, LPS transformera automatiquement cela en caractère générique (*.xxx) indiquant que tous les journaux correspondants dans le dossier seront recherchés.

Vous pouvez facilement voir les dossiers ou les fichiers actuellement recherchés en examinant la barre d’état en bas à droite de Log Parser Studio. Pour voir le chemin d’accès complet, faites rouler votre souris sur la barre d’état.

Remarque : LPS et Log Parser gèrent plusieurs types de journaux et d’objets qui peuvent être interrogés. Il est important de se rappeler que le type de journal que vous interrogez doit correspondre à la requête effectuée. En d’autres termes, lorsque vous exécutez une requête qui attend des journaux IIS, seuls les journaux IIS doivent être sélectionnés dans le gestionnaire de fichiers. Sinon (il est facile d’oublier), cela entraînera des erreurs ou un comportement imprévu lorsque vous exécutez la requête.

3. Choisissez une requête de la bibliothèque et exécutez-la :

a. Cliquez sur l’onglet Bibliothèque s’il n’est pas déjà sélectionné.

b. Choisissez une requête dans la liste et double-cliquez dessus. Ceci ouvrira la requête dans son propre onglet.

c. Cliquez sur le bouton Exécuter une seule requête pour exécuter la requête.

L’exécution de la requête va commencer en arrière-plan. Une fois la requête terminée, il y a deux cibles possibles en sortie : la grille de résultats dans la moitié supérieure de l’onglet Requête ou un fichier CSV. Certaines requêtes retournent leurs résultats à la grille tandis que d’autres, plus gourmandes en mémoire, enregistrent leurs résultats au format CSV.

En règle générale, les requêtes qui peuvent renvoyer de très grands ensembles de résultats sont probablement mieux servies avec la sortie vers un fichier CSV en vue d’un traitement ultérieur dans Excel. Une fois que vous avez les résultats, il existe beaucoup de fonctions pour exploiter ces résultats. Pour plus de détails, veuillez consulter le manuel.

Amusez-vous bien avec Log Parser Studio ! Et rappelez-vous toujours : il existe une requête pour ça !

Kary Wall
Ingénieur d’escalade
Support Microsoft Exchange

Ce billet de blog a été traduit de l’anglais. L’article d’origine est disponible ici Introducing: Log Parser Studio