Log Parser 2.2 et ASP.NET


Colonne vocale d’assistance d’ASP.NET


Log Parser 2.2 et ASP.NET

Pour personnaliser cette chronique selon vos besoins, nous souhaitons vous inviter à soumettre vos idées sur des sujets qui vous intéressent et des problèmes que vous voulez voir traités dans de futurs articles de la Base de connaissances et des chroniques Support Voice. Vous pouvez nous envoyer vos commentaires à l’aide de l’écran Ask For It . Il existe également un lien vers le formulaire au bas de cette colonne.
Bienvenue dans la colonne vocale d’assistance de ASP.NET. Mon nom est Rahul Soni, et j’ai été avec Microsoft depuis environ deux ans maintenant. Dans l’article de mois-ci ce, j’examinerai certaines des faits sur 2.2 d’analyseur de journal. Avant d’aller dans des scénarios spécifiques, permettez-moi de prendre un moment pour décrire l’outil Log Parser.

Sur

Log Parser est un outil très puissant et polyvalent qui fournit un accès de requête universel aux données texte, tels que les fichiers journaux, des fichiers XML et des fichiers CSV, ainsi que des sources de données clés sur le système d’exploitation Microsoft Windows, tels que le journal des événements, le Registre, le système de fichiers et le service d’annuaire Active Directory. Veuillez
Cliquez ici pour télécharger l’outil. Dans cette version, vous pouvez analyser les fichiers suivants à partir de l’outil Log Parser très facilement :
IISW3C, NCSA, IIS, IISODBC, emplacement, IISMSID, HTTPERR, URLSCAN, CSV, TSV, W3C, XML, EVT, ETW, NETMON, REG, annonces, TEXTLINE, TEXTWORD, FS et COM.
J’accepte que l’interface de ligne de commande n’est pas très intuitive, et vous allez le découvrir dès que vous installez et exécutez l’outil. Mais ce que l’outil ne dispose pas de sensation intuitive mise à jour de par la documentation fournie pour l’outil. Je vais donner un petit morceau de conseils ici : ne laissez pas l’interface de ligne de commande de vous mettre hors tension si tôt. Cet outil est indispensable dans la trousse à outils de l’informaticien et vous aide à bien, en particulier si vous souhaitez résoudre les problèmes à partir d’un point de vue des performances.

Je ne vais pas pour décrire « comment » utiliser l’outil Analyseur de journal car la documentation est assez bonne et le dossier d’installation contient également un dossier « Samples\Queries » qui contient quelques exemples.

Par conséquent, une fois que j’ai terminé avec mon peu de promotion de l’outil Log Parser, permettez-moi de revenir aux scénarios que dont je parlais.

Scénario 1 : L’analyse des fichiers texte de grande taille pour un texte spécifique

Un petit fond du problème

Votre client rencontre un problème de « Accès refusé » lorsqu’ils l’ont fait quelque chose. Vous conseillons d’utiliser un autre outil brillant nommé client
FileMon et reproduire le problème. S’il s’agit d’un problème avec les listes ACL de ressources, l’outil Filemon sera capable d’intercepter l’erreur. Maintenant, vous demandez au client de vous envoyer le fichier journal Filemon enregistré. La partie malheureuse arrive. Vous obtenez le fichier (par exemple, Filemon.log) mais que vous trouvez que la taille est énorme (fait le journal Filemon beaucoup de données !). Le bloc-notes va se bloquer et sera lent et laborieux trouver les lignes « Accès refusé » dans le fichier journal. Ouvrez le fichier complètement refuse de Microsoft Office Excel. Que faire maintenant ?

Réponses : Ouvrez la fenêtre de commande Log Parser et utilisez la commande suivante :
LOGPARSER « Sélectionner du texte à partir de C:\Filemon.log où le texte comme 'accès refusé %' » - i : TEXTLINE - q : désactivé
Ce que nous indiquons l’outil Log Parser doit analyser chaque ligne (texte) à partir du fichier donné (C:\Filemon.log) où la ligne de contient « Accès refusé ». Le - i : TEXTLINE commutateur de ligne de commande spécifie le format d’entrée et le - q : hors commutateur de ligne de commande indique qu’elle soit détaillée (- q [ : ON | OFF] : mode silencieux ;). Si vous désactivez le commutateur de ligne de commande - q sur les statistiques affichées et le nom du champ (texte) dans la sortie ci-dessous sera absent.

Exemple de sortie

Texte
7447    1:49:24 PM      explorer.exe:1200       DIRECTORY       C:\      Access Denied 
Statistiques
Elements processed: 640444Elements output:    1
Execution time: 12.75 seconds


Comment faire pour éviter d’appuyer plusieurs fois sur entrée si le nombre d’enregistrements renvoyés par votre requête est supérieure à 10 ?

Réponses : Utilisez le - rtp : -1 paramètre dans vos requêtes !

Ce sera un paramètre nécessaire dans le cas où vous souhaitez rediriger la sortie vers un fichier. Aussi, lorsque vous écrivez dans STDOUT, enregistrements de sortie sont affichent dans les lots constitués d’un nombre de lignes égales à la valeur spécifiée pour ce paramètre. Une fois qu’un lot de lignes a été affiché, il invite l’utilisateur à appuyer sur une touche pour afficher le lot de lignes suivant. Si vous spécifiez « -1 » pour ce paramètre désactive le traitement par lots complètement !

À l’aide de fichiers de requête

Il est une autre façon d’obtenir les mêmes résultats de manière plus claire pour créer un fichier de requête. De cette façon, vous pouvez facilement modifier votre fichier de requête et l’exécuter à partir de la ligne de commande de l’outil Log Parser. En outre, vous pouvez facilement créer une interface utilisateur graphique en fonction de vos goûts. L’interface utilisateur charge de la requête SQL enregistrée et exécute la requête à l’aide de l’outil Log Parser.

Si vous souhaitez obtenir le même effet (comme dans le scénario 1) à partir de requêtes SQL, vous pouvez fournir la commande suivante :
LOGPARSER - i : TEXTLINE file:C:\LPQ\SearchAnyTextfile.sql - q : désactivé
C:\LPQ\SearchAnyTextFile.SQL contient les informations suivantes :

Remarque Créez un dossier LPQ dans votre dossier C:\ pour utiliser les exemples figurant dans cette colonne.
Select Text as LineFromFileFROM C:\Filemon.log 
WHERE Text
LIKE '%Access Denied%'
Si vous remarquez, la requête se présente désormais beaucoup plus propre et plus judicieux. De cette façon, vous pouvez créer plus complexes et les plus grandes requêtes ainsi et tout tiendra sur votre ligne de commande, car vous utilisez le. Fichier SQL au lieu de la requête entière. Il n’est pas possible de faire tenir plus de 260 caractères sur la ligne de commande quand même !

Conserver les avantages de l’utilisation de fichiers de requête, je vais utiliser cette méthode dans les scénarios suivants. J’ai toutes mes requêtes enregistrées dans C:\LPQ avec une extension .sql (vous pouvez utiliser votre propre).

Scénario 2 : Recherche les 10 fichiers les plus volumineux à partir d’un dossier spécifique, y compris ses sous-dossiers.

Un petit fond du problème

Vous disposez d’un dossier, et il existe un certain nombre de sous-dossiers et de fichiers qu’il contient. Vous souhaitez découvrir les 10 premiers fichiers les plus volumineux dans ce dossier, y compris ses sous-dossiers.

Je sais que, pour un dossier spécifique, vous pouvez simplement modifier la vue (dans le menu affichage , cliquez sur Détails) dans l’Explorateur Windows et de trier l’affichage par taille. Mais le problème ici est que vous devez prendre en compte pour le contenu du sous-dossier.

Réponses : Ouvrez la fenêtre de commande d’outil Log Parser et utilisez la commande suivante :
LOGPARSER - i : file:C:\LPQ\Top10Files.sql FS - q : off - Recurse : -1
Top10Files.SQL contient les éléments suivants :
SELECT TOP 10 Path, 
Name,
Size,
Attributes
FROM 'C:\Program Files\Microsoft Office\*.*'
ORDER BY Size DESC
Ici - i : FS signifie que nous devons interroger le système de fichiers. Vous pouvez afficher la liste complète des champs de format d’entrée FS dans la documentation et votre requête de trame en conséquence.

-Recurse : -1 implique que nous voulons inclure tous les sous-dossiers. Si vous ne souhaitez pas que tous les sous-dossiers ou que vous souhaitez limiter la récurrence, utilisez 0, 1, 2, etc.. Le numéro implique la profondeur de que passe en l’analyseur. 0 signifie aucune récursivité, 2 signifie que l’analyseur se répète jusqu'à ce que la profondeur 2, etc..

Exemple de sortie

Path                                                         Name         Size     Attributes ------------------------------------------------------------ ------------ -------- ----------
C:\Program Files\Microsoft Office\Office10\WINWORD.EXE WINWORD.EXE 10738448 -A--R----
C:\Program Files\Microsoft Office\Office10\EXCEL.EXE EXCEL.EXE 9358096 -A--R----
C:\Program Files\Microsoft Office\Office10\OUTLLIB.DLL OUTLLIB.DLL 6326984 -A-------
C:\Program Files\Microsoft Office\Office10\POWERPNT.EXE POWERPNT.EXE 6093584 -A--R----
C:\Program Files\Microsoft Office\Office10\MSOWC.DLL MSOWC.DLL 3041880 -A-------
C:\Program Files\Microsoft Office\Office10\CLIPPIT.ACS CLIPPIT.ACS 2904417 -A-------
C:\Program Files\Microsoft Office\Office10\GRAPH.EXE GRAPH.EXE 2144824 -A-------
C:\Program Files\Microsoft Office\Office10\1033\OUTLLIBR.DLL OUTLLIBR.DLL 1977032 -A-------
C:\Program Files\Microsoft Office\Office10\1033\XLMAIN10.CHM XLMAIN10.CHM 1646072 -A-------
C:\Program Files\Microsoft Office\Office10\MSOWCW.DLL MSOWCW.DLL 1200177 -A-------


Statistiques
Elements processed: 1000Elements output:    10
Execution time: 0.42 seconds

Scénario 3 : Recherche les 20 pages les plus lentes de votre site Web

Un petit fond du problème

Vous utilisez Microsoft Internet Information Services (IIS) 6 que quelques sites ASP.NET et ne sont pas vraiment satisfait de la performance. Vous souhaitez modifier le serveur et connaître les 20 premières pages qui prenant le plus élevé de temps à servir à partir du serveur Web. Il n’est pas comme si vous déterminez les pages le plus élevés de prise de temps, de réparation, et que vos problèmes sont résolus. Malheureusement, il n’existe aucun puces argent pour résoudre les problèmes de performances. Il doit au moins être un moyen de démarrer. Corriger ?

Réponses : Ouvrez la fenêtre de commande Log Parser et utilisez la commande suivante :
LOGPARSER - i : IISW3C file:C:\LPQ\Slowest20FilesInIIS.sql - o : DataGrid - q : désactivé
Slowest20FilesInIIS.SQL contient le code suivant.
Select Top 20LogRow as [Line Number],
date as [Date],
time as [Time],
c-ip as [Client-IP],
s-ip as [Server IP],
s-port as [Server Port],
cs-method as [Request Verb],
cs-uri-stem as [Request URI],
sc-bytes as [Bytes sent],
sc-status as [Status],
sc-substatus as [Sub-status],
sc-win32-status as [Win 32 Status],
time-taken as [Time Taken]
From
C:\ex060813.log
Order by time-taken desc

Ici, - i : IISW3C signifie que nous sommes interrogeant les journaux W3C de IIS. Vous pouvez afficher la liste complète des champs de format d’entrée de IISW3C dans la documentation et votre requête de trame en conséquence.

-o : DataGrid implique que la sortie doit s’afficher dans une grille de données, comme suit :

Output - slowest pages

Remarque Pour utiliser cette requête, vous est recommandé d’utiliser l’enregistrement de IISW3C et devez avoir activé des propriétés de journalisation avancée. (Ouvrez les propriétés de votre site Web et cliquez sur l’onglet Site Web , activez la case à cocher Activer la journalisation, puis définissez le format de journal actif en tant que Format de fichier journal étendu W3C. Cliquez sur Propriétés, cliquez sur le
Onglet Options avancées et cliquez pour sélectionner toutes les options.)

Scénario 4 : Recherche les 20 plus couramment utilisé des pages .aspx dans votre site Web

Un petit fond du problème

Vous utilisez IIS 6, que quelques sites ASP.NET et souhaitez en savoir le plus couramment utilisé que les fichiers .aspx afin que si vous réglez les performances de ces pages, éventuellement les avantages de l’ensemble du site Web/serveur. Il est toujours préférable de passer du temps peaufinage les pages plus utilisées plutôt que les pages qui sont utilisées avec parcimonie. (Bien qu’il peut exister des exceptions à cette règle. Par exemple, que la page utilisée avec parcimonie est un très mauvais qui provoque une utilisation élevée du processeur d’ailleurs !) Maintenant, si vous trouvez qu’il une certaine page prend beaucoup de temps à être pris en charge (scénario 3) et la page est un du plus couramment utilisé que les pages, vous devez toujours vérifier que la page se comporte correctement sous contrainte.

Réponses : Ouvrez la fenêtre de commande d’outil Log Parser et utilisez la commande suivante :
LOGPARSER - i : IISW3C file:C:\LPQ\Popular20FilesInIIS.sql - chartType : Bar3D - espace : affichage de 640 x 480- : sur
Popular20FilesInIIS.SQL contient le code suivant.
Select Top 20cs-uri-stem as [Request URI],
COUNT(*) AS Hits
INTO MyChart.gif
FROM C:\ex060813.log
Group by cs-uri-stem ORDER BY Hits DESC
Dans ce cas, le type de graphique- : Bar3D indique le type de graphique pour préparer à l’outil Log Parser. Le paramètre - espace spécifie la largeur et la hauteur de l’image cible, en pixels. L’ensemble des types de graphique disponibles dépend de la version de Microsoft Office Web Components installé sur l’ordinateur local.

Voici l’aspect de la sortie :

Output - most commonly used .aspx pages

Comme vous l’avez déjà vu, il existe peut-être plusieurs méthodes dans lequel l’outil Log Parser peut s’avérer très utile pour analyser les données à partir de divers journaux. Créativité uniquement est la limite ici ! Manières presque illimité dans lequel les données peuvent refléter une meilleure image pour vous, et il peut être quelque chose que vous pouvez agir. Nous avons touché est simplement la pointe de l’iceberg ! Vous pouvez également utiliser des langages de haut niveau tels que Microsoft Visual C#, Microsoft Visual Basic .NET, etc. pour créer des programmes utiles à l’aide de la puissance de l’outil Log Parser. Consultez la section « Ressources » ci-dessous.

Ressources

Je souhaiterais parler plus de scénarios pour l’outil Log Parser, et j’ai créé une nouvelle section dans mon blog pour l’outil Log Parser. Si vous avez des suggestions pour des scénarios ou des requêtes d’outil Analyseur de journal que vous souhaitez partager, veuillez nous envoyer un me
rahulso@Microsoft.comet je serait valider à ma convenance au plus tôt sur le site Web suivant :
Comme toujours, n’hésitez à soumettre des idées sur des sujets que vous souhaitez traités dans de futurs des colonnes ou dans la Base de connaissances à l’aide de la
Formulaire Ask For It .

Les produits tiers dont traite cet article sont fabriqués par des sociétés indépendantes de Microsoft. Microsoft ne fait aucune garantie, implicite ou autre, concernant les performances ou la fiabilité de ces produits.