Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

ASP.NET Röstkolumn för support

Loggparser 2.2 och ASP.NET

För att anpassa den här kolumnen efter dina behov vill vi bjuda in dig att skicka dina idéer om ämnen som intresserar dig och problem som du vill se i framtida Knowledge Base-artiklar och Support Voice-kolumner. Du kan skicka dina idéer och feedback med hjälp av formuläret Fråga om det. Det finns också en länk till formuläret längst ned i den här kolumnen.

Välkommen till kolumnen ASP.NET Support Voice. Mitt namn är Rahul Soni, och jag har varit hos Microsoft i ungefär två år nu. I den här månadens kolumn kommer jag att diskutera några av fakta om Log Parser 2.2. Innan vi går in i specifika scenarier, låt mig ta en stund att beskriva log parser-verktyget.

Om

Log Parser är ett mycket kraftfullt och mångsidigt verktyg som ger tillgång till textbaserade data som loggfiler, XML-filer och CSV-filer samt viktiga datakällor i Microsoft Windows-operativsystemet, till exempel händelseloggen, registret, filsystemet och Active Directory-katalogtjänsten. Klicka
här för att ladda ned verktyget. I den här versionen kan du enkelt tolka följande filer från verktyget Loggparser:

IISW3C, NCSA, IIS, IISODBC, BIN, IISMSID, HTTPERR, URLSCAN, CSV, TSV, W3C, XML, EVT, ETW, NETMON, REG, ADS, TEXTLINE, TEXTWORD, FS och COM. Jag håller med om att kommandoradsgränssnittet inte är särskilt intuitivt, och du kommer att hitta det så fort du installerar och kör verktyget. Men vad verktyget saknar i intuitiv känsla lappas upp av dokumentationen som tillhandahålls för verktyget. Jag ska ge ett litet råd här: Låt inte kommandoradsgränssnittet få dig att sluta så snart. Detta verktyg är ett måste i en nörd verktygslåda och hjälper dig mycket, särskilt om du vill felsöka ur ett prestandaperspektiv.

Jag kommer inte att diskutera "hur man" använda Log Parser verktyget eftersom dokumentationen är ganska bra och installationsmappen innehåller också en "Samples\Queries" mapp som innehåller en hel del prover.

Så, efter att jag är klar med min del av främjandet av Log Parser verktyget, låt mig komma tillbaka till de scenarier jag pratade om.

Scenario 1: Tolka stora textfiler för en viss text

En liten bakgrund av problemet

Kunden får ett problem med nekad åtkomst när de har gjort något. Du rekommenderar att kunden använder ett annat lysande verktyg som heter
Filemon och återskapar problemet. Om det är ett problem med resurs-ACL:er kan filemon-verktyget fånga felet. Nu ber du kunden att skicka den sparade Filemon-loggfilen. Här kommer den olyckliga delen. Du får filen (t.ex. Filemon.log) men märker att storleken är enorm (Filemon loggar mycket data!). Anteckningar verkar hänga sig och går smärtsamt långsamt för att hitta raderna "Åtkomst nekad" i loggfilen. Microsoft Office Excel vägrar att öppna filen helt. Vad händer nu?

Svar: Öppna kommandofönstret Loggparser och använd följande kommando:

LOGPARSER "Select Text from C:\Filemon.log where Text like '%Access Denied%'" -i:TEXTLINE -q:OffVad vi talar om för loggparserverktyget är att parsa igenom varje rad (Text) från den angivna filen (C:\Filemon.log) där raden innehåller 'Åtkomst nekad'. Kommandoradsväxeln -i:TEXTLINE anger inmatningsformatet och kommandoradsväxeln -q:Off anger att den är utförlig (-q[:ON|AV]:tyst läge;). Om du aktiverar kommandoradsknappen -q kommer statistiken som visas och fältnamnet (Text) i utdata nedan att saknas.

Exempel på utdata

Text7447 13:49:24 explorer.exe:1200 DIRECTORY C:\ Access Denied StatisticsElements processed: 640444
Elementutdata: 1
Körningstid: 12,75 sekunder

Hur undviker du att trycka på RETUR flera gånger om antalet poster som returneras av frågan är större än 10?

Svar: Använd parametern -rtp:-1 i dina frågor!

Det här är en nödvändig parameter om du vill omdirigera utdata till en fil. När du skriver till STDOUT visas utdataposter i batchar som består av ett antal rader som är lika med det angivna värdet för den här parametern. När en uppsättning rader har visats uppmanas användaren att trycka på en tangent för att visa nästa uppsättning rader. Om du anger "-1" för den här parametern inaktiveras batchning helt och hållet!

Använda frågefiler

Ett annat sätt att uppnå samma resultat på ett renare sätt är att skapa en frågefil. På så sätt kan du enkelt justera frågefilen och köra den från kommandoraden för loggparsverktyget. Förutom det kan du enkelt skapa ett GUI enligt din smak. GUI läser in den sparade SQL-frågan och kör frågan med hjälp av verktyget Log Parser.

Om du vill uppnå samma effekt (som i scenario 1) från SQL-frågor kan du ange följande kommando:

LOGPARSER -i:TEXTLINE file:C:\LPQ\SearchAnyTextfile.sql -q:offC:\LPQ\SearchAnyTextFile.sql innehåller följande information:

Obs! Skapa en LPQ-mapp i C:\ om du vill använda exemplen som visas i den här kolumnen.

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

Om du märker att frågan ser mycket renare ut nu och är mer meningsfull. På så sätt kan du även skapa mer komplexa och större frågor, och allt får plats på kommandoraden eftersom du använder . SQL-fil i stället för hela frågan. Det går ändå inte att få plats med fler än 260 tecken på kommandoraden!

Om jag behåller fördelarna med att använda frågefiler använder jag den här metoden i följande scenarier. Jag har alla mina frågor sparade i C:\LPQ med ett SQL-tillägg (du kan använda ditt eget).

Scenario 2: Hitta de 10 största filerna från en viss mapp, inklusive dess undermappar

En liten bakgrund av problemet

Du har en mapp och det finns en hel del undermappar och filer i den. Du vill ta reda på de tio största filerna i den mappen, inklusive dess undermappar.

Jag vet att för en viss mapp kan du helt enkelt ändra vyn (på Visa-menyn klickar du på Information) i Utforskaren och sortera vyn efter storlek. Men problemet här är att du också måste ta hänsyn till undermappens innehåll.

Svar: Öppna kommandofönstret för verktyget Loggparser och använd följande kommando:

LOGPARSER -i:FS file:C:\LPQ\Top10Files.sql -q:off -Recurse:-1Top10Files.sql innehåller följande:

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

Här -i:FS anger att vi kör en fråga till filsystemet. Du kan visa hela listan med FS-indataformatfält i dokumentationen och rama in frågan i enlighet med detta.

-Recurse:-1 innebär att vi vill ta med alla undermappar. Om du inte vill ha alla undermappar eller vill begränsa rekursionen använder du 0, 1, 2 osv. Talet indikerar djupet som parsern kommer att gå in i. 0 innebär ingen rekursion, 2 innebär att parsern återkommer till djup 2, etc.

Exempel 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 processed: 1000
Elementutdata: 10
Körningstid: 0,42 sekunder

Scenario 3: Hitta de 20 långsammaste sidorna på webbplatsen

En liten bakgrund av problemet

Du använder Microsoft Internet Information Services (IIS) 6, har några ASP.NET webbplatser och är inte riktigt nöjd med prestandan. Du vill justera servern och veta om de 20 bästa sidorna som tar den högsta tiden att tjäna från webbservern. Det är inte som om du fastställer de högsta tidsåtgångssidorna, åtgärdar det och dina problem är lösta. Det finns tyvärr inga silverpunkter för att lösa prestandaproblem. Det borde åtminstone finnas ett sätt att börja. Korrekt?

Svar: Öppna kommandofönstret Loggparser och använd följande kommando:

LOGPARSER -i:IISW3C file:C:\LPQ\Slowest20FilesInIIS.sql -o:DataGrid -q:offSlowest20FilesInIIS.sql innehåller följande exempelkod.

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

Här betyder -i:IISW3C att vi frågar IIS W3C-loggarna. Du kan visa hela listan med IISW3C-indataformatfält i dokumentationen och rama in frågan i enlighet med detta.

-o:DataGrid innebär att utdata ska visas i ett datarutnät enligt följande:



Obs! Om du vill använda den här frågan bör du använda IISW3C-loggning och måste ha aktiverat egenskaper för avancerad loggning. (Öppna webbplatsegenskaperna, klicka på fliken Webbplats , klicka för att välja Aktivera loggning och ange sedan det aktiva loggformatet som W3C Utökat loggfilformat. Klicka på Egenskaper, klicka på fliken
Avancerat och klicka sedan för att markera alla alternativ.)

Scenario 4: Hitta de 20 vanligaste .aspx-sidorna på webbplatsen

En liten bakgrund av problemet

Du använder IIS 6, har några ASP.NET webbplatser och vill veta de vanligaste .aspx-filerna så att om du justerar prestanda för dessa sidor, så småningom hela webbplatsen / servern fördelar. Det är alltid bättre att ägna tid åt att justera de mest använda sidorna i stället för de sidor som används sparsamt. (Även om det kan finnas undantag från den här regeln. Säg att den sparsamt använda sidan är en riktigt dålig sida som orsakar hög CPU-användning för den delen!) Om du märker att det tar lång tid att servera en viss sida (scenario 3) och sidan är en av de vanligaste sidorna, bör du alltid bekräfta att sidan fungerar bra under stress.

Svar: Öppna kommandofönstret för verktyget Loggparser och använd följande kommando:

LOGPARSER -i:IISW3C file:C:\LPQ\Popular20FilesInIIS.sql -chartType:Bar3D -groupSize:640x480 -view:onPopular20FilesInIIS.sql innehåller följande exempelkod.

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 det här fallet berättar -chartType:Bar3D för verktyget Loggparser vilken typ av diagram som ska förberedas. Parametern -groupSize anger målbildens bredd och höjd i bildpunkter. Vilka diagramtyper som är tillgängliga beror på vilken version av Microsoft Office Web Components installerat på den lokala datorn.

Så här ser utdata ut:



Som du redan har sett kan det finnas flera sätt på vilka loggparserverktyget kan vara till stor hjälp när du analyserar data från olika loggar. Bara kreativitet är gränsen här! Det finns nästan obegränsade sätt på vilka data kan återspegla en mycket bättre bild för dig, och det kan vara något du kan agera på. Vad vi har rört är bara toppen av isberget! Du kan också använda högnivåspråk som Microsoft Visual C#, Microsoft Visual Basic .NET osv. för att skapa användbara program med hjälp av verktyget Log Parser. Kolla in avsnittet "Resurser" nedan.

Resurser

Jag skulle vilja diskutera fler scenarier för Log Parser-verktyget, och jag har skapat ett nytt avsnitt i min blogg bara för log parser-verktyget. Om du har några förslag på scenarier eller log parser verktyg frågor som du vill dela, vänligen maila mig på
rahulso@microsoft.com, och jag skulle posta det som min tidigaste bekvämlighet på följande webbplats:

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

Som alltid kan du skicka idéer om ämnen som du vill ta upp i framtida kolumner eller i Knowledge Base med hjälp av formuläret Fråga för det.

Produkter från tredje part som beskrivs i den här artikeln tillverkas av företag som är oberoende av Microsoft. Microsoft lämnar inga garantier, underförstådda eller andra, avseende dessa produkters prestanda eller tillförlitlighet.

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×