Aanmelden met Microsoft
Meld u aan of maak een account.
Hallo,
Selecteer een ander account.
U hebt meerdere accounts
Kies het account waarmee u zich wilt aanmelden.

ASP.NET ondersteuningskolom

Logboekparser 2.2 en ASP.NET

Als u deze kolom wilt aanpassen aan uw behoeften, nodigen we u uit om uw ideeën in te dienen over onderwerpen die u interesseren en problemen die u wilt zien behandeld in toekomstige Knowledge Base-artikelen en ondersteuningsstemkolommen. U kunt uw ideeën en feedback indienen met behulp van het formulier Vraag om het. Er is ook een koppeling naar het formulier onderaan deze kolom.

Welkom bij de kolom ASP.NET Ondersteuningsstem. Mijn naam is Rahul Soni en ik werk nu ongeveer twee jaar bij Microsoft. In de column van deze maand bespreekt ik enkele feiten over Log Parser 2.2. Voordat we ingaan op specifieke scenario's, neem ik even de tijd om het hulpprogramma Logboekparser te beschrijven.

Over

Log Parser is een zeer krachtig, veelzijdig hulpprogramma dat universele querytoegang biedt tot op tekst gebaseerde gegevens, zoals logboekbestanden, XML-bestanden en CSV-bestanden, evenals belangrijke gegevensbronnen op het Microsoft Windows-besturingssysteem, zoals het gebeurtenislogboek, het register, het bestandssysteem en de Active Directory-adreslijstservice. Klik
hier om het hulpprogramma te downloaden. In deze versie kunt u de volgende bestanden heel eenvoudig parseren met het hulpprogramma Log Parser:

IISW3C, NCSA, IIS, IISODBC, BIN, IISMSID, HTTPERR, URLSCAN, CSV, TSV, W3C, XML, EVT, ETW, NETMON, REG, ADS, TEXTLINE, TEXTWORD, FS en COM. Ik ben het ermee eens dat de opdrachtregelinterface niet erg intuïtief is en u zult het vinden zodra u het hulpprogramma installeert en uitvoert. Maar wat het hulpprogramma ontbreekt aan intuïtief gevoel, is dat het wordt opgeklapt door de documentatie voor het hulpprogramma. Ik geef hier een klein advies: laat de opdrachtregelinterface u niet zo snel afschrikken. Dit hulpprogramma is een must in de toolkit van een nerd en helpt u veel, vooral als u problemen wilt oplossen vanuit een prestatieperspectief.

Ik ga het niet hebben over het gebruik van het hulpprogramma Logboekparser, omdat de documentatie vrij goed is en de installatiemap ook een map "Samples\Querys" bevat die nogal wat voorbeelden bevat.

Dus nadat ik klaar ben met mijn promotie van het hulpprogramma Log Parser, ga ik terug naar de scenario's waarover ik het had.

Scenario 1: Grote tekstbestanden voor een specifieke tekst parseren

Een kleine achtergrond van het probleem

Uw klant ondervindt een probleem met 'Toegang geweigerd' wanneer ze iets hebben gedaan. U raadt de klant aan een ander briljant hulpprogramma met de naam
Filemon te gebruiken en het probleem te reproduceren. Als het een probleem is met resource-ACL's, kan het hulpprogramma Filemon de fout ondervangen. Nu vraagt u de klant om u het opgeslagen Filemon-logboekbestand te sturen. Hier komt het ongelukkige deel. U krijgt het bestand (bijvoorbeeld Filemon.log), maar merkt dat de grootte enorm is (Filemon logt veel gegevens!). Kladblok lijkt vast te hangen en is pijnlijk traag bij het vinden van de regels 'Toegang geweigerd' in het logboekbestand. Microsoft Office Excel weigert het bestand volledig te openen. Wat nu?

Antwoord: Open het opdrachtvenster Logboekparser en gebruik de volgende opdracht:

LOGPARSER "Select Text from C:\Filemon.log where Text like '%Access Denied%'" -i:TEXTLINE -q:OffWat we het hulpprogramma Logboekparser vertellen is het parseren van elke regel (tekst) van het opgegeven bestand (C:\Filemon.log) waar de regel 'Toegang geweigerd' bevat. De opdrachtregeloptie -i:TEXTLINE geeft de invoerindeling aan en de schakeloptie -q:Off geeft aan dat deze uitgebreid moet zijn (-q[:ON|UIT]:stille modus;). Als u de opdrachtregeloptie -q inschakelt, ontbreken de weergegeven statistieken en de veldnaam (tekst) in de onderstaande uitvoer.

Voorbeelduitvoer

Tekst7447 13:49:24 explorer.exe:1200 DIRECTORY C:\ Toegang geweigerd StatisticsElementen verwerkt: 640444
Uitvoer van elementen: 1
Uitvoeringstijd: 12,75 seconden

Hoe voorkomt u dat u meerdere keren op Enter drukt als het aantal records dat door uw query wordt geretourneerd groter is dan 10?

Antwoord: Gebruik de parameter -rtp:-1 in uw query's!

Dit is een noodzakelijke parameter voor het geval u de uitvoer naar een bestand wilt omleiden. Wanneer u naar STDOUT schrijft, worden uitvoerrecords ook weergegeven in batches die bestaan uit een aantal rijen dat gelijk is aan de waarde die voor deze parameter is opgegeven. Zodra een batch met rijen is weergegeven, wordt de gebruiker gevraagd om op een toets te drukken om de volgende batch rijen weer te geven. Als u '-1' opgeeft voor deze parameter, wordt batchverwerking helemaal uitgeschakeld.

Querybestanden gebruiken

Een andere manier om dezelfde resultaten op een schonere manier te bereiken, is door een querybestand te maken. Op deze manier kunt u uw querybestand eenvoudig aanpassen en uitvoeren vanaf de opdrachtregel van het hulpprogramma Logboekparser. Daarnaast kunt u eenvoudig een GUI naar eigen smaak maken. De GUI laadt de opgeslagen SQL-query en voert de query uit met behulp van het hulpprogramma Log Parser.

Als u hetzelfde effect (als in scenario 1) wilt bereiken met SQL-query's, kunt u de volgende opdracht geven:

LOGPARSER -i:TEXTLINE-bestand:C:\LPQ\SearchAnyTextfile.sql -q:offC:\LPQ\SearchAnyTextFile.sql bevat de volgende informatie:

Opmerking Maak een map LPQ in uw C:\ om de voorbeelden in deze kolom te gebruiken.

Select Text as LineFromFile
FROM C:\Filemon.log 
WHERE Text 
LIKE '%Access Denied%'

Als u merkt, ziet de query er nu veel schoner uit en is het logischer. Op deze manier kunt u ook complexere en grotere query's maken, en alles past op uw opdrachtregel omdat u de gebruikt. SQL-bestand in plaats van de hele query. Het is toch niet mogelijk om meer dan 260 tekens op de opdrachtregel te plaatsen!

Met behoud van de voordelen van het gebruik van querybestanden, gebruik ik deze methode in de volgende scenario's. Ik heb al mijn query's opgeslagen in C:\LPQ met de extensie .sql (u kunt uw eigen query's gebruiken).

Scenario 2: De 10 grootste bestanden vinden in een specifieke map, inclusief de submappen

Een kleine achtergrond van het probleem

U hebt een map en er zitten nogal wat submappen en bestanden in. U wilt de 10 grootste bestanden in die map vinden, inclusief de submappen.

Ik weet het, voor een specifieke map kunt u gewoon de weergave wijzigen (klik in het menu Beeld op Details) in Windows Verkenner en de weergave sorteren op grootte. Maar het probleem hier is dat u ook rekening moet houden met de inhoud van de submap.

Antwoord: Open het opdrachtvenster van het hulpprogramma Logboekparser en gebruik de volgende opdracht:

LOGPARSER -i:FS-bestand:C:\LPQ\Top10Files.sql -q:off -Recurse:-1Top10Files.sql bevat het volgende:

SELECT TOP 10 
Path, 
Name, 
Size, 
Attributes 
FROM 'C:\Program Files\Microsoft Office\*.*' 
ORDER BY Size DESC

Hier -i:FS geeft aan dat we een query uitvoeren op het bestandssysteem. U kunt de volledige lijst met velden voor FS-invoerindeling bekijken in de documentatie en uw query dienovereenkomstig indelen.

-Recurse:-1 impliceert dat we alle submappen willen opnemen. Als u niet alle submappen wilt of recursie wilt beperken, gebruikt u 0, 1, 2, enzovoort. Het getal impliceert de diepte van de parser. 0 betekent geen recursie, 2 betekent dat de parser opnieuw optreedt tot diepte 2, enzovoort.

Voorbeelduitvoer

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-------


Verwerkte StatisticsElements: 1000
Elementenuitvoer: 10
Uitvoeringstijd: 0,42 seconden

Scenario 3: De 20 langzaamste pagina's op uw website vinden

Een kleine achtergrond van het probleem

U gebruikt Microsoft Internet Information Services (IIS) 6, hebt een paar ASP.NET websites en bent niet echt tevreden met de prestaties. U wilt de server aanpassen en op de hoogte zijn van de bovenste 20 pagina's die de hoogste tijd nemen om vanaf de webserver te worden gebruikt. Het is niet alsof u de pagina's met de hoogste tijdsduur bepaalt, deze oplost en uw problemen zijn opgelost. Helaas zijn er geen zilveren opsommingstekens om prestatieproblemen op te lossen. Er moet tenminste een manier zijn om te beginnen. Juiste?

Antwoord: Open het opdrachtvenster Logboekparser en gebruik de volgende opdracht:

LOGPARSER -i:IISW3C file:C:\LPQ\Slowest20FilesInIIS.sql -o:DataGrid -q:offSlowest20FilesInIIS.sql bevat de volgende voorbeeldcode.

Select Top 20
LogRow 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

Hier geeft -i:IISW3C aan dat we een query uitvoeren op de IIS W3C-logboeken. U kunt de volledige lijst met velden voor IISW3C-invoerindeling bekijken in de documentatie en uw query dienovereenkomstig indelen.

-o:DataGrid impliceert dat de uitvoer als volgt in een gegevensraster moet worden weergegeven:



Opmerking Als u deze query wilt gebruiken, moet u IISW3C-logboekregistratie gebruiken en geavanceerde logboekregistratie-eigenschappen hebben ingeschakeld. (Open de eigenschappen van uw website, klik op het tabblad Website , klik op Logboekregistratie inschakelen en stel vervolgens de indeling Actief logboek in op W3C Extended Log File Format. Klik op Eigenschappen, klik op het
tabbladGeavanceerd en klik vervolgens om alle opties te selecteren.)

Scenario 4: de 20 meest gebruikte ASPX-pagina's op uw website vinden

Een kleine achtergrond van het probleem

U gebruikt IIS 6, hebt een paar ASP.NET websites en u wilt weten wat de meest gebruikte ASPX-bestanden zijn, zodat als u de prestaties van deze pagina's afstemt, uiteindelijk de hele website/servervoordelen heeft. Het is altijd beter om tijd te besteden aan het aanpassen van de meest gebruikte pagina's in plaats van de pagina's die spaarzaam worden gebruikt. (Hoewel er uitzonderingen op deze regel kunnen zijn. Stel dat de spaarzaam gebruikte pagina een echt slechte pagina is die een hoog CPU-gebruik veroorzaakt!) Als u nu merkt dat het lang duurt voordat een bepaalde pagina wordt weergegeven (scenario 3) en de pagina een van de meest gebruikte pagina's is, moet u altijd controleren of de pagina zich goed gedraagt onder stress.

Antwoord: Open het opdrachtvenster van het hulpprogramma Logboekparser en gebruik de volgende opdracht:

LOGPARSER -i:IISW3C file:C:\LPQ\Popular20FilesInIIS.sql -chartType:Bar3D -groupSize:640x480 -view:onPopular20FilesInIIS.sql bevat de volgende voorbeeldcode.

Select Top 20
cs-uri-stem as [Request URI],
COUNT(*) AS Hits 
INTO MyChart.gif 
FROM C:\ex060813.log
Group by cs-uri-stem ORDER BY Hits DESC

In dit geval vertelt -chartType:Bar3D het hulpprogramma Logboekparser welk type grafiek moet worden voorbereid. De parameter -groupSize geeft de breedte en hoogte van de doelafbeelding in pixels op. De set beschikbare grafiektypen is afhankelijk van de versie van de Microsoft-Office Web Components geïnstalleerd op de lokale computer.

De uitvoer ziet er als volgt uit:



Zoals u al hebt gezien, kunnen er meerdere manieren zijn waarop het hulpprogramma Logboekparser echt nuttig kan zijn bij het analyseren van de gegevens uit verschillende logboeken. Alleen creativiteit is hier de limiet! Er zijn bijna onbeperkte manieren waarop de gegevens een veel beter beeld voor u kunnen weergeven, en het kan iets zijn waarop u kunt reageren. Wat we hebben aangeraakt is slechts het topje van de ijsberg! U kunt ook talen op hoog niveau, zoals Microsoft Visual C#, Microsoft Visual Basic .NET, enzovoort gebruiken om nuttige programma's te maken met behulp van de kracht van het hulpprogramma Logboekparser. Bekijk de sectie Resources hieronder.

Bronnen

Ik wil meer scenario's voor het hulpprogramma Logboekparser bespreken en ik heb in mijn blog een nieuwe sectie gemaakt voor het hulpprogramma Log Parser. Als u suggesties hebt voor scenario's of query's van hulpprogramma's voor logboekparser die u wilt delen, kunt u mij een e-mail sturen op
rahulso@microsoft.com, en ik zou deze zo snel mogelijk op de volgende website plaatsen:

https://learn.microsoft.com/archive/blogs/rahulso/

Zoals altijd kunt u ideeën indienen over onderwerpen die u wilt bespreken in toekomstige kolommen of in de Knowledge Base met behulp van het formulier Vraag om het.

De producten van derden die in dit artikel worden besproken, worden geproduceerd door bedrijven die onafhankelijk zijn van Microsoft. Microsoft geeft geen garantie, impliciet of anderszins, met betrekking tot de prestaties of betrouwbaarheid van deze producten.

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.

Was deze informatie nuttig?

Hoe tevreden bent u met de taalkwaliteit?
Wat heeft uw ervaring beïnvloed?
Als u op Verzenden klikt, wordt uw feedback gebruikt om producten en services van Microsoft te verbeteren. Uw IT-beheerder kan deze gegevens verzamelen. Privacyverklaring.

Hartelijk dank voor uw feedback.

×