Log Parser 2.2 og ASP.NET

ASP.NET støtte for talekolonne

Log Parser 2.2 og ASP.NET

Hvis du vil tilpasse denne kolonnen etter behov, vil vi invitere deg til å sende inn ideer om emner som interesserer deg og problemer som du vil se, i fremtidige Knowledge Base-artikler og støttekolonner. Du kan sende ideer og tilbakemeldinger ved hjelp av Be om det-skjemaet. Det er også en kobling til skjemaet nederst i denne kolonnen.

Velkommen til talekolonnen for ASP.NET kundestøtte. Navnet mitt er Rahul Soni, og jeg har vært hos Microsoft i omtrent to år nå. I denne månedens kolonne skal jeg diskutere noen av faktaene om Log Parser 2.2. Før vi går inn i bestemte scenarier, kan jeg bruke litt tid på å beskrive verktøyet Log Parser.

Om

Log Parser er et svært kraftig, allsidig verktøy som gir universell spørringstilgang til tekstbaserte data, for eksempel loggfiler, XML-filer og CSV-filer, i tillegg til viktige datakilder i Microsoft Windows-operativsystemet, for eksempel hendelsesloggen, registeret, filsystemet og Active Directory-tjenesten. Klikk
her for å laste ned verktøyet. I denne versjonen kan du enkelt analysere følgende filer fra verktøyet Log Parser:

IISW3C, NCSA, IIS, IISODBC, BIN, IISMSID, HTTPERR, URLSCAN, CSV, TSV, W3C, XML, EVT, ETW, NETMON, REG, ADS, TEXTLINE, TEXTWORD, FS og COM. Jeg godtar at kommandolinjegrensesnittet ikke er veldig intuitivt, og du vil finne det ut så snart du installerer og kjører verktøyet. Men hva verktøyet mangler i den intuitive følelsen den er oppdatert av dokumentasjonen for verktøyet. Jeg gir deg et lite råd her: Ikke la kommandolinjegrensesnittet sette deg av så snart. Dette verktøyet er et must i verktøysettet til en forestilling og hjelper deg mye, spesielt hvis du vil feilsøke fra et ytelsesperspektiv.

Jeg skal ikke diskutere hvordan man bruker Log Parser-verktøyet fordi dokumentasjonen er ganske god, og installasjonsmappen inneholder også en «Eksempler\spørringer»-mappe som inneholder ganske mange eksempler.

Så når jeg er ferdig med å promotere Log Parser-verktøyet, kan jeg gå tilbake til scenarioene jeg snakker om.

Scenario 1: Analysere store tekstfiler for en bestemt tekst

En liten bakgrunn av problemet

Kundene opplever et problem med «Ingen tilgang» når de gjorde noe. Du anbefaler at kunden bruker et annet fantastisk verktøy som heter
Filemon og reproduserer problemet. Hvis det er et problem med acL-ressurs, vil Filemon-verktøyet kunne fange opp feilen. Nå kan du be kunden om å sende deg den lagrede Filemon-loggfilen. Her kommer den uheldige delen. Du får filen (for eksempel Filemon.log), men finner ut at størrelsen er stor (Filemon logger mye data!). Notisblokken henger seg opp og tar det veldig lang tid å finne linjene «Ingen tilgang» i loggfilen. Microsoft Office Excel nekter å åpne filen fullstendig. Hva nå?

Svar: Åpne kommandovinduet for Log Parser, og bruk følgende kommando:

LOGPARSER «Velg tekst fra C:\Filemon.log der tekst som «Tilgang nektet%» -i:TEXTLINE -q:OffWhat forteller vi at verktøyet Log Parser er å analysere gjennom hver linje (tekst) fra den angitte filen (C:\Filemon.log) der linjen inneholder Ingen tilgang. Kommandolinjebryteren -i:TEXTLINE angir inndataformatet, og kommandolinjebryteren -q:Off forteller den å være detaljert (-q[:ON| AV]:stillemodus;). Hvis du aktiverer kommandolinjebryteren -q, vil statistikken som vises, og feltnavnet (tekst) i utdataene nedenfor være borte.

Eksempel på utdata

Text7447 1:49:24 PM explorer.exe:1200 DIRECTORY C:\ Ingen statistikkelementer for tilgang behandlet: 640444
Elementer: 1 Kjøringstid: 12,75 sekunder Slik unngår du å trykke ENTER flere ganger hvis antall poster som returneres av spørringen er større enn


10?

Svar: Bruk -rtp:-1-parameteren i spørringene!

Dette vil være en nødvendig parameter i tilfelle du vil omdirigere utdataene til en fil. Når du skriver til STDOUT, vises også utdatapostene i bunker som består av en rekke rader som er lik verdien som er angitt for denne parameteren. Når en gruppe med rader har blitt vist, vil den be brukeren om å trykke på en tast for å vise de neste radene. Hvis du angir «-1» for denne parameteren, deaktiveres gruppering fullstendig.

Bruke spørringsfiler

En annen måte å oppnå de samme resultatene på en renere måte, er å opprette en spørringsfil. På denne måten kan du enkelt tilpasse spørringsfilen og kjøre den fra kommandolinjen til loggsparerverktøyet. I tillegg kan du enkelt opprette enGUI i henhold til smaken din. GUI laster inn den lagrede SQL-spørringen og kjører spørringen ved hjelp av log parser-verktøyet.

Hvis du vil oppnå samme effekt (som i scenario 1) fra SQL-spørringer, kan du bruke følgende kommando:

LOGPARSER -i:TEXTLINE file:C:\LPQ\SearchAnyTextfile.sql -q:offC:\LPQ\SearchAnyTextFile.sql inneholder følgende informasjon: Obs! Opprett en mappe

LPQ i C:\ -mappen for å bruke eksemplene som vises i denne kolonnen.

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

Hvis du legger merke til det, ser spørringen mye renere ut nå og gir mer mening. På denne måten kan du også opprette mer komplekse og større spørringer, og alt får plass på kommandolinjen fordi du bruker . SQL-fil i stedet for hele spørringen. Det er ikke mulig å få plass til mer enn 260 tegn på kommandolinjen likevel!

Hvis jeg beholder fordelene ved å bruke spørringsfiler, bruker jeg denne metoden i følgende scenarioer. Jeg har alle spørringene mine lagret i C:\LPQ med filtypen SQL (du kan bruke din egen).

Scenario 2: Finne de 10 største filene fra en bestemt mappe, inkludert undermappene

En liten bakgrunn av problemet

Du har en mappe, og det er ganske mange undermapper og filer i den. Du vil finne de 10 største filene i denne mappen, inkludert undermappene.

Jeg vet at for en bestemt mappe, kan du ganske enkelt endre visningen (klikk Detaljer Vis-menyen) i Windows Utforsker og sortere visningen etter størrelse. Problemet her er at du også må ta hensyn til innholdet i undermappen.

Svar: Åpne kommandovinduet for verktøyet Log Parser, og bruk følgende kommando:

LOGPARSER -i:FS-fil:C:\LPQ\Top10Files.sql -q:off -Recurse:-1Top10Files.sql inneholder følgende:

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

Her betyr FS at vi spør filsystemet. Du kan vise hele listen over FS-inndataformatfelt i dokumentasjonen og ramme inn spørringen deretter.

-Regelmessig:-1 betyr at vi ønsker å inkludere alle undermappene. Hvis du ikke vil ha alle undermappene eller vil begrense regelmessighet, bruker du 0, 1, 2 og så videre. Tallet tilsier dybden parseren vil gå inn i. 0 betyr ingen gjentakelse, 2 betyr at parseren gjentas til dybden 2 og så videre.

Eksempel på utdata

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


StatisticsElements behandlet: 1000 elementer
utdata: 10
kjøringstid: 0,42 sekunder

Scenario 3: Finne de 20 tregeste sidene på nettstedet

En liten bakgrunn av problemet

Du bruker Microsoft Internet Information Services (IIS) 6, har noen ASP.NET nettsteder og er egentlig ikke fornøyd med ytelsen. Du vil tilpasse serveren og vite om de 20 sidene som tar den høyeste tiden å tjene fra nettserveren. Det er ikke som om du finner ut hvilke sider som tar mest tid, løser det og problemene blir løst. Det finnes dessverre ingen sølvtegn for å løse ytelsesproblemer. Det bør i det minste være en måte å starte på. Riktig?

Svar: Åpne kommandovinduet for Log Parser, og bruk følgende kommando:

LOGPARSER -i:IISW3C-fil:C:\LPQ\Slowest20FilesInIIS.sql -o:DataGrid -q:offSlowest20FilesInIIS.sql inneholder følgende eksempelkode.

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

Her betyr -i:IISW3C at vi spør IIS W3C-loggene. Du kan vise hele listen over IISW3C inndataformatfelt i dokumentasjonen og ramme inn spørringen deretter.

-o:DataGrid betyr at utdataene skal vises i et datarutenett på følgende måte:alternativ tekstObs! Hvis du vil bruke denne spørringen, må du bruke


IISW3C-logging og må ha aktivert egenskaper for Avansert
logging. (Åpne egenskapene for nettstedet, klikk fanen Nettsted, klikk for å velge Aktiver logging,og angi deretter Aktiv loggformat som utvidet W3C-loggfilformat. Klikk Egenskaper,klikk
avansert-fanen, og klikk deretter for å velge alle alternativene.)

Scenario 4: Finne de 20 mest brukte ASPX-sidene på nettstedet

En liten bakgrunn av problemet

Du bruker IIS 6, har noen ASP.NET-nettsteder og vil vite de mest brukte ASPX-filene, slik at hvis du justerer ytelsen til disse sidene, vil du etter hvert ha hele nettstedet/serverfordelene. Det er alltid bedre å bruke tid på å tilpasse de mest brukte sidene i stedet for sidene som brukes med måte. (Selv om det kan være unntak fra denne regelen. La oss si at den lite brukte siden er en svært dårlig side som forårsaker høy CPU-utnyttelse for den saken!) Hvis du nå finner ut at det tar lang tid å bli tjent med en bestemt side (scenario 3), og siden er en av de mest brukte sidene, bør du alltid bekrefte at siden oppfører seg godt under stress.

Svar: Åpne kommandovinduet for verktøyet Log Parser, og bruk følgende kommando:

LOGPARSER -i:IISW3C-fil:C:\LPQ\Popular20FilesInIIS.sql -chartType:Bar3D -groupSize:640x480 -view:onPopular20FilesInIIS.sql inneholder følgende eksempelkode.

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

I dette tilfellet forteller -chartType:Bar3D log parser-verktøyet hvilken type diagram som skal klargjøres. Parameteren -groupSize angir bredden og høyden på målbildet i piksler. Settet med tilgjengelige diagramtyper avhenger av hvilken versjon av Microsoft Office Web Components som er installert på den lokale datamaskinen.

Slik ser utdataene:alternativ tekstSom du allerede har sett, kan det være flere måter verktøyet


Log Parser kan bevise svært nyttig i analyse av data fra ulike
logger. Det er bare kreativiteten som er grensen her! Det finnes nesten ubegrensede måter dataene kan gjenspeile et mye bedre bilde på, og det kan være noe du kan gjøre noe med. Det vi har berørt, er bare toppen av isfjellet! Du kan også bruke språk på høyt nivå, for eksempel Microsoft Visual C#, Microsoft Visual Basic .NET osv. til å lage nyttige programmer ved hjelp av verktøyet Log Parser. Se avsnittet Ressurser nedenfor.

Ressurser

Jeg ønsker å diskutere flere scenarier for log parser-verktøyet, og jeg har opprettet en ny inndeling i bloggen min bare for Log Parser-verktøyet. Hvis du har noen forslag til scenarioer eller log Parser verktøy spørringer som du vil dele, kan du sende meg på rahulso@microsoft.com, og jeg vil publisere det på mitt tidligste praktiske
på følgende nettsted:

http://blogs.msdn.com/rahulso/archive/category/14624.aspx

Som alltid kan du sende inn ideer om emner du vil ta opp i fremtidige kolonner eller i kunnskapsbasen ved hjelp av
Be om det-skjemaet.

Tredjepartsproduktene som beskrives i denne artikkelen, er utviklet av firmaer som er uavhengige av Microsoft. Microsoft gir ingen garantier, underforstått eller på annen måte, når det gjelder ytelsen eller påliteligheten til disse produktene.

Trenger du mer hjelp?

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Microsoft Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

×