como separar logs de eventos do IIS por aplicativo no visualizador de eventos

3

Apenas para começar, gostaria de informar que sou muito novo no IIS, então peça desculpas por qualquer pergunta óbvia com antecedência.

Eu fiz algumas pesquisas sobre esse tópico e minhas descobertas foram inconclusivas.

Aqui está o meu cenário;

No momento, estou executando o IIS 6 em um servidor no qual estou remotamente e está hospedando cerca de 20 sites.

Eu identifiquei que posso navegar através de erros que ocorrem nos diferentes aplicativos da web usando o Visualizador de Eventos.

Meu problema atual com isso é que parece não haver nenhuma maneira de filtrar os logs de eventos em uma base "por aplicativo" e eles estão aparecendo aleatoriamente, dependendo da hora em que ocorrem. Há também uma mistura de avisos do evento web do ASP.NET, do IIS-W3SVC-WP, etc.

Para identificar qual aviso é atribuído a qual aplicativo, eu tenho que clicar com o botão direito no erro, ir para "propriedades do evento" e para "Caminho do Aplicativo" que terá, por exemplo, o caminho do meu "HotelBookingSystem". O caminho do aplicativo será "D: inetpub \ wwwroot \ HotelBookingSystem".

Minha pergunta é, existe uma maneira de classificar os logs de eventos por aplicativo? O que eu gostaria de fazer é filtrar todos os resultados por "Application Path".

Instalei o Log Parser Studios da Microsoft para acreditar que pode haver uma maneira de executar uma consulta usando isso, mas meu conhecimento de SQL não está em um nível para tentar criar essa consulta.

Qualquer ajuda seria muito apreciada.

    
por JPM 09.02.2015 / 17:36

2 respostas

1

Consegui resolver esse problema, mas é um método muito longo.

Em "Visualizador de Eventos", cliquei com o botão direito nos registros da janela "Aplicativo" e salvei os registros inteiros em um arquivo .txt.

Copiei esse arquivo .txt do servidor remoto para minha máquina local.

Instalei o Log Parser 2.2 em minha máquina (pode ser baixado aqui

Eu acessei o Log Parser abrindo o prompt de comando em minha máquina local e navegando até o local em que o instalei. Arquivos de programas (x86) > Log Parser 2.2 >.

Continuando com isso, digitei o seguinte comando para pesquisar uma string (no meu caso, o nome do aplicativo) e também a data para poder restringir a pesquisa a uma data específica. Eu também imprimi os resultados em uma grade de dados;

logParser.exe "select * from **C:\NAME_OF_FILE.txt** WHERE text LIKE '%10/02/2015%' AND text LIKE '**YOUR_STRING**%'" -o:datagrid

Você também pode optar por colocar o resultado em um arquivo de saída, que no meu caso foi:

-o:CSV > C:\temp\Test.csv

Esta pode não ser a melhor maneira de fazer isso, mas funcionou para mim.

    
por 10.02.2015 / 17:28
0
  1. Experimente brincar com wevtutil (que é um utilitário de linha de comando do Windows para gerenciar eventos) para ver se você pode criar uma consulta apropriada.

    Veja o link

    e as telas de ajuda do comando Consulta:

    wevtutil qe /?

  2. Se você preferir uma solução baseada em diálogo, tente consultas XPath no Visualizador de Eventos, conforme explicado aqui: link Mas receio que o Log de Eventos do Windows suporte apenas um subconjunto do XPath 1.0. Ele contém apenas 3 funções: posição, banda, timediff.

  3. Também há opções interessantes com o comando Get-WinEvent PowerShell .

Na sua pergunta (editada), você afirma que deseja filtrar usando uma substring do campo Descrição. Eu não acho que isso será possível com os filtros embutidos, eu usaria um comando wevtutil para despejar todos os eventos relevantes para XML e então filtrar com algum analisador totalmente funcional (poderia ser uma cadeia simples pesquisa, ou um analisador XML com capacidades XPath completas).

    
por 09.02.2015 / 18:31