Entrar com a conta da Microsoft
Entrar ou criar uma conta.
Olá,
Selecionar uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

ASP.NET coluna de voz de suporte

Log Parser 2.2 e ASP.NET

Para personalizar esta coluna às suas necessidades, queremos convidá-lo a enviar suas ideias sobre tópicos que lhe interessam e problemas que você deseja ver abordados em artigos futuros da Base de Dados de Conhecimento e colunas de Voz de Suporte. Você pode enviar suas ideias e comentários usando o formulário Ask For It. Há também um link para o formulário na parte inferior desta coluna.

Bem-vindo à coluna de voz de suporte ASP.NET. Meu nome é Rahul Soni, e estou na Microsoft há cerca de dois anos. Na coluna deste mês, discutirei alguns dos fatos sobre o Log Parser 2.2. Antes de entrarmos em cenários específicos, deixe-me tirar um momento para descrever a ferramenta Log Parser.

Sobre

O Log Parser é uma ferramenta muito poderosa e versátil que fornece acesso universal à consulta a dados baseados em texto, como arquivos de log, arquivos XML e arquivos CSV, bem como fontes de dados importantes no sistema operacional Microsoft Windows, como o log de eventos, o registro, o sistema de arquivos e o serviço de diretório do Active Directory. Clique
aqui para baixar a ferramenta. Nesta versão, você pode analisar os seguintes arquivos com muita facilidade na 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 você a descobrirá assim que instalar e executar a ferramenta. Mas o que falta na ferramenta no sentimento intuitivo está sendo corrigido pela documentação fornecida para a ferramenta. Darei um pequeno conselho aqui: não deixe que a interface da linha de comando o atribua tão cedo. Essa ferramenta é imperdível no kit de ferramentas de um geek e ajuda muito você, especialmente se você quiser solucionar problemas de uma perspectiva de desempenho.

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

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

Cenário 1: Analisando arquivos de texto grandes para um texto específico

Um pequeno plano de fundo do problema

Seu cliente enfrenta um problema de "Acesso Negado" quando fez algo. Você recomenda que o cliente use outra ferramenta brilhante chamada
Filemon e reproduza o problema. Se for um problema com ACLs de recurso, a ferramenta Filemon poderá capturar o erro. Agora, você pede ao cliente para enviar o arquivo de log do Filemon salvo. Aí vem a parte infeliz. Você obtém o arquivo (por exemplo, Filemon.log), mas descobre que o tamanho é enorme (Filemon registra muitos dados!). O bloco de notas parecerá travado e será dolorosamente lento para encontrar as linhas "Acesso Negado" no arquivo de log. O Microsoft Office Excel se recusará a abrir o arquivo completamente. E agora?

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

LOGPARSER "Selecione Texto em C:\Filemon.log em que texto como '%Access Denied%'" -i:TEXTLINE -q:OffO que estamos dizendo à ferramenta Log Parser é analisar cada linha (Texto) do arquivo determinado (C:\Filemon.log) em que a linha contém 'Access Denied'. O comutador de linha de comando -i:TEXTLINE especifica o formato de entrada e o comutador de linha de comando -q:Off informa que ele é verboso (-q[:ON|OFF]:modo silencioso;). Se você ativar a opção de linha de comando -q, as estatísticas mostradas e o nome do campo (Texto) na saída abaixo estarão ausentes.

Saída de exemplo

Text7447 1:49:24 PM explorer.exe:1200 DIRECTORY C:\ Acesso negado StatisticsElements processado: 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 registros retornados pela consulta for maior que 10?

Resposta: use o parâmetro -rtp:-1 em suas consultas!

Esse será um parâmetro necessário caso você queira redirecionar a saída para um arquivo. Além disso, quando você grava no STDOUT, os registros de saída são exibidos em lotes compostos por várias linhas iguais ao valor especificado para este parâmetro. Depois que um lote de linhas for exibido, ele solicitará que o usuário pressione uma chave para exibir o próximo lote de linhas. Especificar "-1" para esse parâmetro desabilita completamente o lote!

Usando arquivos de consulta

Outra maneira de obter os mesmos resultados de forma mais limpa é criar um arquivo de consulta. Dessa forma, você pode ajustar facilmente o arquivo de consulta e executá-lo na linha de comando da ferramenta Log Parser. Além disso, você pode criar facilmente uma GUI de acordo com seu gosto. O GUI carrega a consulta SQL salva e executa a consulta usando a ferramenta Log Parser.

Se você quiser obter o mesmo efeito (como no Cenário 1) de consultas SQL, poderá fornecer o seguinte comando:

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

Observação Criar um LPQ de pasta em seu C:\ pasta para usar os exemplos mostrados nesta coluna.

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

Se você notar, a consulta parece muito mais limpa agora e faz mais sentido. Dessa forma, você pode criar consultas mais complexas e maiores também, e tudo se ajustará à sua linha de comando porque você está usando o . Arquivo SQL em vez de toda a consulta. Não é possível encaixar mais de 260 caracteres na linha de comando de qualquer maneira!

Mantendo os benefícios de usar arquivos de consulta, usarei esse método nos cenários a seguir. Tenho todas as minhas consultas salvas em C:\LPQ com uma extensão .sql (você pode usar suas próprias).

Cenário 2: encontrar os 10 maiores arquivos de uma pasta específica, incluindo suas subpastas

Um pequeno plano de fundo do problema

Você tem uma pasta e há algumas subpastas e arquivos nela. Você deseja descobrir os 10 maiores arquivos dessa pasta, incluindo suas subpastas.

Eu sei que, para uma pasta específica, você pode simplesmente alterar a exibição (no menu Exibir, clique em Detalhes) no Windows Explorer e classificar a exibição por tamanho. Mas o problema aqui é que você precisa considerar o conteúdo da subpasta também.

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

LOGPARSER -i:arquivo FS: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 arquivos. Você pode exibir a lista completa de campos de formato de entrada do FS na documentação e enquadrar sua consulta de acordo.

-Recurse:-1 implica que queremos incluir todas as subpastas. Se você não quiser todas as subpastas ou quiser limitar a recursão, use 0, 1, 2 etc. O número implica a profundidade em que o analisador entrará. 0 significa nenhuma recursão, 2 significa que o analisador se repetirá até a profundidade 2, etc.

Saída de exemplo

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 processado: 1000
Saída de elementos: 10
Tempo de execução: 0,42 segundos

Cenário 3: Encontrar as 20 páginas mais lentas em seu site

Um pequeno plano de fundo do problema

Você está usando Serviços de Informações da Internet da Microsoft (IIS) 6, tem alguns sites ASP.NET e não está realmente satisfeito com o desempenho. Você deseja ajustar o servidor e saber sobre as 20 principais páginas que estão tendo mais tempo para servir do servidor Web. Não é como se você determinasse as páginas de maior tempo, corrija-as e seus problemas sejam resolvidos. Infelizmente, não há balas de prata para resolve problemas de desempenho. Pelo menos deve haver uma maneira de começar. Correto?

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

LOGPARSER -i:IISW3C file: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 logs W3C do IIS. Você pode exibir a lista completa de campos de formato de entrada IISW3C na documentação e enquadrar sua consulta de acordo.

-o:DataGrid implica que a saída deve ser mostrada em uma grade de dados da seguinte maneira:



Observação Para usar essa consulta, você deve estar usando o registro em log IISW3C e deve ter habilitado as propriedades avançadas do Log. (Abra as propriedades do site, clique na guia Site da Web , clique para selecionar Habilitar log e defina o formato de log ativo como Formato de Arquivo de Log Estendido W3C. Clique em Propriedades, clique na
guiaAvançado e clique em selecionar todas as opções.)

Cenário 4: encontrar as 20 páginas .aspx mais usadas em seu site

Um pequeno plano de fundo do problema

Você está usando o IIS 6, tem alguns sites ASP.NET e deseja saber os arquivos .aspx mais usados para que, se você ajustar o desempenho dessas páginas, eventualmente todos os benefícios de site/servidor da Web. É sempre melhor gastar tempo ajustando as páginas mais usadas em vez das páginas usadas com moderação. (Embora possa haver exceções a essa regra. Digamos que a página usada com moderação é uma página muito ruim que causa alta utilização da CPU para esse assunto!) Agora, se você descobrir que uma determinada página leva muito tempo para ser atendida (Cenário 3) e a página é uma das páginas mais usadas, você sempre deve confirmar que a página se comporta bem sob estresse.

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

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

Veja a aparência da saída:



Como você já viu, pode haver várias maneiras pelas quais a ferramenta Log Parser pode ser realmente útil na análise dos dados de vários logs. Somente a criatividade é o limite aqui! Há maneiras quase ilimitadas em que os dados podem refletir uma imagem muito melhor para você, e pode ser algo em que você pode agir. O que tocamos é apenas a ponta do iceberg! Você também pode usar idiomas de alto nível, como Microsoft Visual C#, Microsoft Visual Basic .NET, etc. para criar programas úteis usando o poder da ferramenta Log Parser. Confira a seção "Recursos" abaixo.

Recursos

Gostaria de discutir mais cenários para a ferramenta Log Parser e criei uma nova seção no meu blog apenas para a ferramenta Log Parser. Se você tiver alguma sugestão de cenários ou consultas de ferramenta do Log Parser que deseja compartilhar, envie-me por email em
rahulso@microsoft.com e eu postarei no meu primeiro momento no seguinte site da Web:

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

Como sempre, sinta-se à vontade para enviar ideias sobre tópicos que você deseja abordar em colunas futuras ou na Base de Dados de Conhecimento usando 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 fornece garantias, implícitas ou de outro tipo, em relação ao desempenho ou à confiabilidade desses produtos.

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?
Ao pressionar enviar, seus comentários serão usados para aprimorar os produtos e serviços da Microsoft. Seu administrador de TI poderá coletar esses dados. Política de Privacidade.

Agradecemos seus comentários!

×