Iniciar sessão com a Microsoft
Iniciar sessão ou criar uma conta.
Olá,
Selecione uma conta diferente.
Tem várias contas
Selecione a conta com a qual pretende iniciar sessão.

ASP.NET Coluna de Voz de Suporte

Analisador de Registos 2.2 e ASP.NET

Para personalizar esta coluna de acordo com as suas necessidades, queremos convidá-lo para submeter as suas ideias sobre tópicos que lhe interessam e problemas que pretende ver abordados em futuros artigos da Base de Dados de Conhecimento e colunas voz de suporte. Pode submeter as suas ideias e comentários através do formulário Pedir. Também existe uma ligação para o formulário na parte inferior desta coluna.

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

Acerca de

O Analisador de Registos é uma ferramenta muito avançada e versátil que fornece acesso universal a dados baseados em texto, como ficheiros de registo, ficheiros XML e ficheiros CSV, bem como origens 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 do Active Directory. Clique
aqui para transferir a ferramenta. Nesta versão, pode analisar facilmente os seguintes ficheiros a partir da ferramenta Análise de Registos:

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 da linha de comandos não é muito intuitiva e irá encontrá-la assim que instalar e executar a ferramenta. No entanto, o que falta à ferramenta no sentimento intuitivo está a ser corrigido pela documentação fornecida para a ferramenta. Vou dar um pequeno conselho aqui: não deixes que a interface da linha de comandos o desative tão cedo. Esta ferramenta é obrigatória no toolkit de um geek e ajuda-o muito, especialmente se quiser resolver problemas do ponto de vista do desempenho.

Não vou discutir "como" utilizar a ferramenta Análise de Registos porque a documentação é bastante boa e a pasta de instalação também contém uma pasta "Samples\Queries" que contém bastantes exemplos.

Assim, depois de terminar a minha 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 fundo do problema

O cliente tem um problema de "Acesso Negado" quando efetuou alguma ação. Recomenda que o cliente utilize outra ferramenta brilhante com o nome
Filemon e reproduza o problema. Se for um problema com as ACLs de recursos, a ferramenta Filemon conseguirá detetar o erro. Agora, peça ao cliente para lhe enviar o ficheiro de registo filemon guardado. Aqui vem a parte infeliz. Obtém o ficheiro (por exemplo, Filemon.log), mas descobre que o tamanho é enorme (o Filemon regista muitos dados!). O bloco de notas parece estar bloqueado e será dolorosamente lento para encontrar as linhas "Acesso Negado" no ficheiro de registo. O Microsoft Office Excel recusar-se-á a abrir completamente o ficheiro. E agora?

Resposta: Abra a janela de comandos do Analisador de Registos e utilize o seguinte comando:

LOGPARSER "Select Text from 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'. O comutador da linha de comandos -i:TEXTLINE especifica o formato de entrada e o parâmetro -q:Off da linha de comandos indica que é verboso (-q[:ON|DESATIVADO]:modo silencioso;). Se ativar o comutador da linha de comandos -q, as estatísticas apresentadas e o nome do campo (Texto) na saída abaixo estarão ausentes.

Saída de exemplo

Texto7447 1:49:24 PM explorer.exe:1200 DIRETÓRIO C:\ Estatísticas De Acesso NegadoLements processados: 640444
Saída dos elementos: 1
Tempo de execução: 12,75 segundos

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

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

Este será um parâmetro necessário caso pretenda redirecionar a saída para um ficheiro. Além disso, quando escreve em 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. Depois de um lote de linhas ser apresentado, irá pedir ao utilizador para premir uma tecla para apresentar o próximo lote de linhas. Especificar "-1" para este parâmetro desativa completamente a criação de batches!

Utilizar 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 ficheiro de consulta e executá-lo a partir da linha de comandos da ferramenta Análise de Registos. Além disso, pode criar facilmente uma GUI de acordo com o seu gosto. A GUI carrega a consulta SQL guardada e executa a consulta com a ferramenta Analisador de Registos.

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

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

Nota Criar uma pasta LPQ no seu C:\ para utilizar os exemplos apresentados nesta coluna.

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

Se reparar, a consulta parece muito mais limpa agora e faz mais sentido. Desta forma, também pode criar consultas mais complexas e maiores e tudo se ajustará à sua linha de comandos porque está a utilizar o . Ficheiro SQL em vez de toda a consulta. De qualquer forma, não é possível ajustar mais de 260 carateres na linha de comandos!

Mantendo as vantagens de utilizar ficheiros de consulta, utilizarei este método nos seguintes cenários. Tenho todas as minhas consultas guardadas em C:\LPQ com uma extensão .sql (pode utilizar a sua).

Cenário 2: localizar os 10 ficheiros maiores de uma pasta específica, incluindo as respetivas subpastas

Um pequeno fundo do problema

Tem uma pasta e existem bastantes subpastas e ficheiros na mesma. Quer descobrir os 10 maiores ficheiros nessa pasta, incluindo as respetivas subpastas.

Sei que, para uma pasta específica, pode simplesmente alterar a vista (no menu Ver , clique em Detalhes) no Explorador do Windows e ordenar a vista por tamanho. No entanto, o problema aqui é que também tem de ter em conta os conteúdos da subpasta.

Resposta: Abra a janela de comandos da ferramenta Log Parser e utilize 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 a consultar o sistema de ficheiros. Pode ver a lista completa de campos de formato de entrada FS na documentação e enquadrar a consulta em conformidade.

-Recurse:-1 implica que queremos incluir todas as subpastas. Se não quiser todas as subpastas ou quiser limitar a recursão, utilize 0, 1, 2, etc. O número implica a profundidade em que o analisador irá entrar. 0 significa que não há recursão, 2 significa que o analisador se repete até à 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 processados: 1000
Saída de elementos: 10
Tempo de execução: 0,42 segundos

Cenário 3: localizar as 20 páginas mais lentas no Web site

Um pequeno fundo do problema

Está a utilizar Serviços de Informação Internet da Microsoft (IIS) 6, tem alguns sites ASP.NET e não está muito satisfeito com o desempenho. Quer otimizar o servidor e saber mais sobre as 20 páginas que estão a demorar mais tempo a servir a partir do servidor Web. Não é como se determinasse as páginas que demoram mais tempo, corrigi-la e os seus problemas fossem resolvidos. Infelizmente, não existem marcas de prata para resolver problemas de desempenho. Pelo menos deve haver uma maneira de começar. Correto?

Resposta: Abra a janela de comandos do Analisador de Registos e utilize 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 a consultar os registos W3C do IIS. Pode ver a lista completa de campos de formato de entrada IISW3C na documentação e enquadrar a consulta em conformidade.

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



Nota: para utilizar esta consulta, deve utilizar o Registo IISW3C e ter ativado as propriedades do Registo Avançado. (Abra as propriedades do Web site, clique no separador Web Site , clique para selecionar Ativar Registo e, em seguida, defina o formato de registo Ativo como Formato de Ficheiro de Registo Expandido W3C. Clique em Propriedades, clique no
separadorAvançadas e, em seguida, clique para selecionar todas as opções.)

Cenário 4: localizar as 20 páginas .aspx mais utilizadas no Web site

Um pequeno fundo do problema

Está a utilizar o IIS 6, tem algumas ASP.NET Web sites e quer saber os ficheiros .aspx mais utilizados para que, se ajustar o desempenho dessas páginas, eventualmente todo o Web site/servidor beneficie. É sempre melhor passar tempo a ajustar as páginas mais utilizadas do que as páginas que são utilizadas com moderação. (Embora possam existir exceções a esta regra. Digamos que a página utilizada com moderação é uma página muito má que causa uma utilização elevada da CPU!) Agora, se descobrir que uma determinada página demora muito tempo a ser servida (Cenário 3) e a página for uma das páginas mais utilizadas, deve sempre confirmar que a página se comporta bem sob stress.

Resposta: Abra a janela de comandos da ferramenta Log Parser e utilize 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, -chartType:Bar3D indica à ferramenta Analisador de Registos que tipo de gráfico deve preparar. O parâmetro -groupSize especifica a largura e altura da imagem de destino, em píxeis. O conjunto de tipos de gráfico disponíveis depende da versão dos Componentes Web do Microsoft Office instalados no computador local.

Eis o aspeto da saída:



Como já viu, podem existir várias formas de a ferramenta Parser de Registos ser realmente útil na análise dos dados de vários registos. Só a criatividade é o limite aqui! Existem formas quase ilimitadas de os dados refletirem uma imagem muito melhor para si e pode ser algo em que pode agir. O que tocámos é apenas a ponta do iceberg! Também pode utilizar idiomas de alto nível, como o Microsoft Visual C#, Microsoft Visual Basic .NET, etc. para criar programas úteis com o poder da ferramenta Parser de Registos. Consulte a secção "Recursos" abaixo.

Recursos

Gostaria de discutir mais cenários para a ferramenta Parser de Registos e criei uma nova secção no meu blogue apenas para a ferramenta Parser de Registos. Se tiver alguma sugestão para cenários ou consultas de ferramentas do Analisador de Registos que pretenda partilhar, envie-me um e-mail para
rahulso@microsoft.com e publicaria o mesmo o mais rapidamente possível no seguinte Web site:

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

Como sempre, pode submeter ideias sobre tópicos que pretende abordar em colunas futuras ou na Base de Dados de Conhecimento através do formulário Pedir.

Os produtos de terceiros que este artigo aborda são fabricados por empresas independentes da Microsoft. A Microsoft não concede qualquer garantia, implícita ou não, relativamente ao desempenho ou fiabilidade destes produtos.

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.

Estas informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?
Ao selecionar submeter, o seu feedback será utilizado para melhorar os produtos e serviços da Microsoft. O seu administrador de TI poderá recolher estes dados. Declaração de Privacidade.

Obrigado pelo seu feedback!

×