Log Parser 2.2 e ASP.NET

Coluna de voz de suporte ASP.NET

Log Parser 2.2 e ASP.NET

Para personalizar esta coluna às suas necessidades, queremos convidá-lo a submeter as suas ideias sobre temas que lhe interessam e questões que pretende ver abordadas em futuros artigos da Base de Conhecimento e colunas de Voz de Suporte. Pode submeter as suas ideias e feedback utilizando o formulário Ask For It. Há também uma ligação com a forma na parte inferior desta coluna.

Bem-vindos à Coluna de Voz de Suporte ASP.NET. O meu nome é Rahul Soni, e estou com a Microsoft há cerca de dois anos. Na coluna deste mês, vou discutir alguns dos factos sobre o Log Parser 2.2. Antes de entrarmos em cenários específicos, deixe-me descrever a ferramenta Log Parser.

Sobre

O Log Parser é uma ferramenta muito poderosa e versátil que fornece acesso de consulta universal a dados baseados em texto, tais como ficheiros de registo, ficheiros XML e ficheiros CSV, bem como fontes de dados chave no sistema operativo Microsoft Windows, como o registo de eventos, o registo, o sistema de ficheiros e o serviço de diretório de diretórios Ative. Clique
aqui para descarregar a ferramenta. Nesta versão, pode analisar facilmente os seguintes ficheiros a partir da ferramenta Log Parser:

IISW3C, NCSA, IIS, IISODBC, BIN, IISMSID, HTTPERR, URLSCAN, CSV, TSV, W3C, XML, EVT, ETW, NETMON, REG, ADS, TEXTLINE, TEXTWORD, FS e COM. Concordo que a interface de linha de comando não é muito intuitiva, e vai descobrir assim que instalar e executar a ferramenta. Mas o que falta à ferramenta no sentimento intuitivo está a ser remendado pela documentação fornecida para a ferramenta. Vou dar um pequeno conselho: não deixes que a interface da linha de comando te adifiquei tão cedo. Esta ferramenta é uma obrigação no conjunto de ferramentas de um geek e ajuda-o muito, especialmente se quiser resolver problemas do ponto de vista de desempenho.

Não vou discutir "como" usar a ferramenta Log Parser porque a documentação é bastante boa e a pasta de instalação também contém uma pasta "Samples\Queries" que contém algumas amostras.

Então, depois de terminar a minha parte de promoção da ferramenta Log Parser, deixe-me voltar aos cenários de que estava a falar.

Cenário 1: Analisar ficheiros de texto grandes para um texto específico

Um pequeno pano de fundo do problema

O seu cliente experimenta um problema de "Access Denied" quando fez alguma coisa. Recomenda que o cliente use outra ferramenta brilhante chamada
Filemon e reproduza o problema. Se for um problema com ACLs de recursos, a ferramenta Filemon será capaz de apanhar o erro. Agora, peça ao cliente para lhe enviar o ficheiro de registo de Filemon guardado. Aí vem a parte infeliz. Obtém o ficheiro (digamos, Filemon.log) mas descobre que o tamanho é enorme (Filemon regista muitos dados!). O bloco de notas parecerá estar pendurado e será dolorosamente lento para encontrar as linhas "Access Denied" no ficheiro de registo. O Microsoft Office Excel recusar-se-á a abrir completamente o ficheiro. E agora, o que fazemos?

Resposta: Abra a janela de comando Log Parser e utilize o seguinte comando:

LOGPARSER "Selecione Texto de C:\Filemon.log onde texto como '%Acesso Negado%'" -i:TEXTLINE -q:Off O que estamos a dizer à ferramenta Log Parser é analisar através de cada linha (Texto) do ficheiro dado (C:\Filemon.log) onde a linha contém 'Acesso Negado'. O interruptor de linha de comando -i:TEXTLINE especifica o formato de entrada, e o interruptor de linha de comando -q:Desligado diz que é verboso (-q[:ON| OFF]:modo silencioso;). Se ligar o interruptor de linha de comando -q, as estatísticas apresentadas e o nome de campo (Texto) na saída abaixo estarão ausentes.

Saída de amostra

Text7447 1:49:24 PM explorer.exe:1200 DIRECTORY C:\ Estatísticas NegadasElements processados: 640444
Saída de elementos: 1
Tempo de execução: 12,75 segundos

Como evitar pressionar ENTER várias vezes se o número de registos devolvidos pela sua consulta for superior a 10?

Resposta: Use o parâmetro -rtp:-1 nas suas consultas!

Este será um parâmetro necessário para o caso de pretender redirecionar a saída para um ficheiro. Além disso, quando escreve para STDOUT, os registos de saída são apresentados em lotes compostos por um número de linhas iguais ao valor especificado para este parâmetro. Uma vez apresentado um lote de linhas, o utilizador irá pressionar uma tecla para exibir o próximo lote de linhas. Especificar "-1" para este parâmetro desativa completamente o loteamento!

Utilização de ficheiros de consulta

Outra forma de obter os mesmos resultados de uma forma mais limpa é criar um ficheiro de consulta. Desta forma, pode ajustar facilmente o seu ficheiro de consulta e executá-lo a partir da linha de comando da ferramenta Log Parser. Além disso, pode facilmente criar um GUI de acordo com o seu gosto. O GUI carrega a consulta SQL guardada e executa a consulta utilizando a ferramenta Log Parser.

Se quiser obter o mesmo efeito (como no Cenário 1) a partir de consultas SQL, pode fornecer o seguinte comando:

FICHEIRO LOGPARSER -i:TEXTLINE:C:\LPQ\SearchAnyTextfile.sql -q:offC:\LPQ\SearchAnyTextFile.sql contém as seguintes informações:

Nota Criar uma pasta LPQ no seu C:\ pasta para utilizar as amostras mostradas nesta coluna.

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

Se notar, a consulta parece muito mais limpa agora e faz mais sentido. Desta forma, também pode criar consultas mais complexas e maiores, e tudo caberá na sua linha de comando porque está a usar o . Ficheiro SQL em vez de toda a consulta. Não é possível encaixar mais de 260 caracteres na linha de comando!

Mantendo os benefícios de usar ficheiros de consulta, utilizarei este método nos seguintes cenários. Tenho todas as minhas consultas guardadas em C:\LPQ com uma extensão de .sql (podes usar a tua).

Cenário 2: Encontrar os 10 maiores ficheiros de uma pasta específica, incluindo as suas sub-dobradeiras

Um pequeno pano de fundo do problema

Tem uma pasta, e há algumas sub-dobradeiras e ficheiros nela. Pretende descobrir os 10 maiores ficheiros desta pasta, incluindo as suas sub-dobradeiras.

Eu sei que, para uma pasta específica, pode simplesmente alterar a vista (no menu Ver, clicar em Detalhes)no Windows Explorer e ordenar a vista por tamanho. Mas o problema aqui é que você precisa explicar o conteúdo do subfolder também.

Resposta: Abra a janela de comando da ferramenta Log Parser e use o seguinte comando:

LOGPARSER -i:FS file:C:\LPQ\Top10Files.sql -q:off -Recurse:-1Top10Files.sql contém o seguinte:

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

Aqui -i:FS significa que estamos consultando o sistema de ficheiros. Pode ver a lista completa dos campos de formato de entrada FS na documentação e enquadrar a sua consulta em conformidade.

-Recurse:-1 implica que queremos incluir todas as sub-dobradeiras. Se não quiser todas as sub-dobradeiras ou quiser limitar a recursão, use 0, 1, 2, etc. O número implica a profundidade em que o parser entrará. 0 significa que não há recursão, 2 significa que o parser repete-se até à profundidade 2, etc.

Saída de amostra

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


EstatísticasElements processados: 1000
Saída de elementos: 10
Tempo de execução: 0,42 segundos

Cenário 3: Encontrar as 20 páginas mais lentas no seu Site

Um pequeno pano de fundo do problema

Você está usando Microsoft Internet Information Services (IIS) 6, tem alguns ASP.NET Web sites, e não está realmente feliz com o desempenho. Pretende ajustar o servidor e conhecer as 20 páginas mais altas que estão a demorar mais tempo a servir a partir do servidor Web. Não é como se determinasse as páginas mais altas, corrigi-la e os seus problemas fossem resolvidos. Infelizmente, não há balas de prata para resolver problemas de desempenho. Pelo menos deve haver uma maneira de começar. Está certo?

Resposta: Abra a janela de comando Log Parser e utilize o seguinte comando:

FICHEIRO LOGPARSER -i:IISW3C:C:\LPQ\Slowest20FilesInIIS.sql -o:DataGrid -q:offSlowest20FilesInIIS.sql contém o seguinte código de exemplo.

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

Aqui, -i:IISW3C significa que estamos consultando os registos IIS W3C. Pode ver a lista completa dos campos de formato de entrada IISW3C na documentação e enquadrar a sua consulta em conformidade.

-o:DataGrid implica que a saída deve ser mostrada numa grelha de dados da seguinte forma:

texto alternativoNota Para utilizar

esta consulta, deve estar a utilizar o Registo IISW3C e deve ter ativado propriedades avançadas de registo. (Abra as propriedades do web site, clique no separador Web Site, clique para selecionar Enable Logginge, em seguida, definir o formato de registo ativo como Formato de Ficheiro de Registo Estendido W3C. Clique em Propriedades,clique no
separadorAdvanced e, em seguida, clique para selecionar todas as opções.)

Cenário 4: Encontrar as 20 páginas .aspx mais utilizadas no seu site

Um pequeno pano de fundo do problema

Você está usando iIS 6, tem alguns ASP.NET Web sites, e quer saber os ficheiros .aspx mais utilizados para que, se sintonizar o desempenho dessas páginas, eventualmente todo o Web site/servidor beneficie. É sempre melhor passar o tempo a ajustar as páginas mais usadas do que as páginas que são usadas com moderação. (Embora possa haver exceções a esta regra. Digamos que a página usada com moderação é uma página muito má que causa alta utilização do CPU, aliás!) Agora, se descobrir que uma determinada página leva muito tempo a ser servida (Cenário 3) e a página é uma das páginas mais usadas, deve sempre confirmar que a página se comporta bem sob stress.

Resposta: Abra a janela de comando da ferramenta Log Parser e use o seguinte comando:

LOGPARSER -i:IISW3C file:C:\LPQ\Popular20FilesInIIS.sql -chartType:Bar3D -groupSize:640x480 -view:onPopular20FilesInIIS.sql contém o seguinte código de exemplo.

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

Neste caso, o -chartType:Bar3D diz à ferramenta Log Parser que tipo de gráfico preparar. O parâmetro -groupSize especifica a largura e a altura da imagem-alvo, em pixels. O conjunto de tipos de gráficos disponíveis depende da versão dos Componentes Web do Microsoft Office instalados no computador local.

Eis como a saída parece:

texto alternativoComo já

viu, pode haver várias formas de a ferramenta Log Parser poder revelar-se realmente útil na análise dos dados de vários registos. Só a criatividade é o limite aqui! Há formas quase ilimitadas de os dados poderem refletir uma imagem muito melhor para si, e pode ser algo em que possa agir. O que tocámos é apenas a ponta do iceberg! Também pode utilizar idiomas de alto nível como Microsoft Visual C#, Microsoft Visual Basic .NET, etc. para criar programas úteis utilizando a potência da ferramenta Log Parser. Veja abaixo a secção "Recursos".

Recursos

Gostaria de discutir mais cenários para a ferramenta Log Parser, e criei uma nova secção no meu blog apenas para a ferramenta Log Parser. Se tiver alguma sugestão para cenários ou consultas de ferramentas Log Parser que queira partilhar, por favor envie-me um rahulso@microsoft.com
, e eu publicaria o mais rapidamente possível no seguinte Site:

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

Como sempre, sinta-se livre para submeter ideias sobre tópicos que deseja abordados em colunas futuras ou na Base de Conhecimento utilizando o formulário
Ask For It.

Os produtos de terceiros que este artigo discute são fabricados por empresas independentes da Microsoft. A Microsoft não faz qualquer garantia, implícita ou não, no que diz respeito ao desempenho ou fiabilidade destes produtos.

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×