ASP.NET støtter talekolonne

Log Parser 2.2 og ASP.NET

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

Velkommen til ASP.NET Støtte talekolonne. Jeg heter Rahul Soni, og jeg har vært hos Microsoft i omtrent to år nå. I denne månedens kolonne skal jeg diskutere noen av fakta om Log Parser 2.2. Før vi går inn i bestemte scenarioer, kan jeg ta meg tid til å beskrive Log Parser-verktøyet.

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, samt viktige datakilder i Microsoft Windows-operativsystemet, for eksempel hendelsesloggen, registeret, filsystemet og Active Directory-katalogtjenesten. Klikkher for å laste ned verktøyet. I denne versjonen kan du analysere følgende filer veldig enkelt fra Log Parser-verktøyet:

IISW3C, NCSA, IIS, IISODBC, BIN, IISMSID, HTTPERR, URLSCAN, CSV, TSV, W3C, XML, EVT, ETW, NETMON, REG, ADS, TEXTLINE, TEXTWORD, FS og COM. Jeg er enig i at kommandolinjegrensesnittet ikke er veldig intuitivt, og du finner det ut så snart du installerer og kjører verktøyet. Men det verktøyet mangler i intuitiv følelse blir lappet opp av dokumentasjonen som leveres for verktøyet. Jeg gir et lite råd her: Ikke la kommandolinjegrensesnittet sette deg av så snart. Dette verktøyet er et must i en geek verktøysett og hjelper deg mye, spesielt hvis du ønsker å feilsøke fra et ytelsesperspektiv.Jeg kommer ikke til å diskutere hvordan du 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å, etter at jeg er ferdig med min bit av promotering av Log Parser-verktøyet, la meg komme tilbake til scenariene jeg snakket om.

Scenario 1: Analysere store tekstfiler for en bestemt tekst

En liten bakgrunn av problemet

Kunden opplever et «Ingen tilgang»-problem når de gjorde noe. Du anbefaler at kunden bruker et annet strålende verktøy som heterFilemon og reproduserer problemet. Hvis det er et problem med tilgangskontrollister for ressurser, kan Filemon-verktøyet fange opp feilen. Nå ber du 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 loggfører mye data!). Notisblokken ser ut til å henge og vil være smertelig treg for å finne «Ingen tilgang»-linjene i loggfilen. Microsoft Office Excel nekter å åpne filen fullstendig. Hva nå? Svar: Åpne kommandovinduet logganalyse, og bruk følgende kommando:

LOGPARSER "Velg tekst fra C:\Filemon.log where Text like '%Access Denied%'" -i:TEXTLINE -q:OffWhat we are telling the Log Parser tool is to parse through each line (Text) from the given file (C:\Filemon.log) where the line contains 'Access Denied'. Kommandolinjebryteren -i:TEXTLINE angir inndataformatet, og kommandolinjebryteren -q:Off forteller at den skal være detaljert (-q[:ON|AV]:stille modus;). Hvis du slår på kommandolinjebryteren -q, vil statistikken som vises og feltnavnet (tekst) i utdataene nedenfor være fraværende.

Eksempel på utdata

Tekst 7447 13:49:24 explorer.exe:1200 KATALOG C:\ Ingen tilgang til StatisticsElements behandlet: 640444 Utdata for elementer: 1 Utførelsestid: 12,75 sekunder Hvordan unngå å trykke ENTER flere ganger hvis antall poster som returneres av spørringen, er større enn 10? Svar: Bruk parameteren -rtp:-1 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 utdataposter i grupper som består av et antall rader som er lik verdien som er angitt for denne parameteren. Når en gruppe med rader er vist, vil brukeren be brukeren om å trykke på en tast for å vise den neste bunken med rader. Hvis du angir «-1» for denne parameteren, deaktiveres satsvising helt!

Bruke spørringsfiler

En annen måte å oppnå de samme resultatene på på en renere måte er å opprette en spørringsfil. På denne måten kan du enkelt justere spørringsfilen og kjøre den fra kommandolinjen til Log Parser-verktøyet. Bortsett fra det, kan du enkelt opprette en GUI i henhold til din smak. 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 angi følgende kommando:

LOGPARSER -i:TEXTLINE-fil:C:\LPQ\SearchAnyTextfile.sql -q:offC:\LPQ\SearchAnyTextFile.sql inneholder følgende informasjon: Obs! Opprett en mappe-LPQ i C:\ til å 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 vil passe 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 uansett! 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 en SQL-utvidelse (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 ut de 10 største filene i denne mappen, inkludert undermappene.Jeg vet at for en bestemt mappe kan du ganske enkelt endre visningen (klikk DetaljerVis-menyen) i Windows Utforsker og sortere visningen etter størrelse. Men problemet her er at du også må ta hensyn til innholdet i undermappen.Svar: Åpne kommandovinduet for Log Parser-verktøyet, 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 –i:FS betyr at vi spør etter filsystemet. Du kan vise den fullstendige listen over felt for FS-inndataformat i dokumentasjonen og ramme inn spørringen i henhold til dette.-Recurse:-1 betyr at vi ønsker å inkludere alle undermappene. Hvis du ikke vil ha alle undermappene eller vil begrense rekursjonen, bruker du 0, 1, 2 og så videre. Tallet antyder dybden som parseren vil gå inn i. 0 betyr ingen rekursjon, 2 betyr at parseren gjentas til dybde 2 osv.

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 Utdata for elementer: 10 Utførelsestid: 0,42 sekunder

Scenario 3: Finne de 20 tregeste sidene på webområdet

En liten bakgrunn av problemet

Du bruker Microsoft Internet Information Services (IIS) 6, har noen ASP.NET nettsteder og er ikke fornøyd med ytelsen. Du vil justere serveren og vite om de 20 beste sidene som tar høyest tid å betjene fra webserveren. Det er ikke som om du finner de høyeste tidsbesparende sidene, løser det og problemene dine er løst. Det finnes dessverre ingen sølvkuler for å løse ytelsesproblemer. Det bør i det minste være en måte å starte på. Riktig? Svar: Åpne kommandovinduet logganalyse, 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 den fullstendige listen over IISW3C-inndataformatfelt i dokumentasjonen og ramme inn spørringen i henhold til dette.-o:DataGrid antyder at utdataene skal vises i et datarutenett på følgende måte: Obs! Hvis du vil bruke denne spørringen, bør du bruke IISW3C-logging og må ha aktivert avanserte loggingsegenskaper. (Åpne egenskapene for webområdet, klikk kategorien Webområde , klikk for å velge Aktiver logging, og angi deretter formatet for aktiv logg som W3C utvidet loggfilformat. Klikk Egenskaper,klikk avansert-fanen, og klikk deretter for å velge alle alternativene.)

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

En liten bakgrunn av problemet

Du bruker IIS 6, har noen ASP.NET webområder, og vil vite de mest brukte ASPX-filene, slik at hvis du justerer ytelsen til disse sidene, vil du etter hvert få fordeler med hele webområdet/serveren. Det er alltid bedre å bruke tid på å justere de mest brukte sidene i stedet for sidene som brukes sparsomt. (Selv om det kan være unntak fra denne regelen. La oss si at den sparsomt brukte siden er en veldig dårlig side som forårsaker høy CPU-utnyttelse for den saks skyld!) Hvis det nå tar lang tid før en bestemt side behandles (scenario 3), og siden er en av de mest brukte sidene, bør du alltid bekrefte at siden fungerer godt under stress.Svar: Åpne kommandovinduet for Log Parser-verktøyet, 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 hva slags 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 ut: Som du allerede har sett, kan det være flere måter som Log Parser-verktøyet kan være svært nyttig for å analysere dataene fra ulike logger. Bare kreativitet er grensen her! Det finnes nesten ubegrensede måter dataene kan gjenspeile et mye bedre bilde for deg på, og det kan være noe du kan gjøre noe med. Det vi har rørt ved 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 å opprette nyttige programmer ved hjelp av kraften i Log Parser-verktøyet. Sjekk ut «Ressurser»-delen nedenfor.

Ressurser

Jeg vil gjerne diskutere flere scenarioer for Log Parser-verktøyet, og jeg har opprettet en ny inndeling i bloggen bare for Log Parser-verktøyet. Hvis du har forslag til scenarioer eller log parser-verktøyspørringer du vil dele, kan du sende meg en e-post pårahulso@microsoft.com, og jeg legger den ut så snart som mulig på følgende webområde:

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

Som alltid kan du gjerne sende inn ideer om emner du vil ta opp i fremtidige kolonner eller i kunnskapsbasen ved hjelp av Ask For It-skjemaet.Tredjepartsproduktene som beskrives i denne artikkelen, er produsert av selskaper som er uavhengige av Microsoft. Microsoft gir ingen garantier, underforstått eller på annen måte, angående ytelsen eller påliteligheten til disse produktene.

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.

Fellesskap hjelper deg med å stille og svare på spørsmål, gi tilbakemelding og høre fra eksperter med stor kunnskap.