Partilhar via


Rastreio

O rastreamento usa o Rastreamento de Eventos para Windows (ETW). Para aproveitar as ferramentas de rastreamento disponíveis com o Windows Server 2008 R2, instale o SDK do Microsoft Windows.

Há três níveis de rastreamento suportados:

  • Verbose (todos os vestígios disponíveis).
  • Info (vestígios informativos).
  • Erro (rastros de erro).

Os seguintes eventos são rastreados:

  • Quaisquer erros (Level=Error, Level=Info ou Level=Verbose).
  • Entrada/saída de uma API (Level=Info ou Level=Verbose).
  • Início e conclusão de qualquer IO (Level=Info ou Level=Verbose)
  • Mensagens SOAP trocadas (Level=Verbose, disponível no Windows 2003 SP1 e posterior)

Geração e visualização de rastreamentos WWSAPI

WWSAPI usa os eventos baseados em manifesto no Windows Vista e versões posteriores. Como resultado, a experiência de rastreamento tem algumas diferenças com base na versão do sistema operacional. A geração de rastreamentos ETW pode ser feita utilizando as ferramentas ETW integradas em todas as plataformas suportadas. No entanto, visualizar os rastreamentos ETW em um formato agradável requer ferramentas personalizadas no Windows XP SP2 e Windows 2003 SP1. Existem algumas maneiras diferentes de coletar e visualizar rastreamentos de eventos WWSAPI ETW, dependendo da versão do sistema operacional.

Ativando e visualizando rastreamentos WWSAPI no Visualizador de Eventos (funciona no Windows Vista e superior)

  • Execute eventvwr.msc a partir da linha de comando ou do menu Executar.
  • Clique no link de visualização no painel de ações à direita e habilite a opção Mostrar logs analíticos e de depuração.
  • Aceda a Logs de aplicativos e serviços\Microsoft\Windows\WebServices providers no painel esquerdo.
  • Clique com o botão direito do mouse no provedor de rastreamento e selecione Ativar log.
  • Execute seu cenário.
  • Ao atualizar a página do visualizador de eventos, você deve começar a ver as entradas de rastreamento WWSAPI.

Ativando e visualizando rastreamentos WWSAPI usando Wstrace.bat Script (funciona em XPSP2 e superior)

O arquivo em lote wstrace.bat fornece uma maneira conveniente de:

  • Criar um log de rastreamento
  • Excluir um log de rastreamento
  • Ativar e desativar o rastreio
  • Atualizar o nível de rastreamento (info/error/verbose)
  • Convertendo logs de rastreamento em arquivos CSV

O arquivo em lote usa logman.exe para todos os comandos, com exceção da conversão dos logs em arquivo CSV, que requer uma ferramenta personalizada (wstracedump.exe).

Usando comandos de rastreamento

O comando a seguir cria um log que usa informações, erro ou nível detalhado. Este comando requer privilégios elevados.

wstrace.bat criar [info | erro | verboso]

O comando a seguir exclui o log. Este comando requer privilégios elevados.

wstrace.bat excluir

O comando a seguir habilita o rastreamento. Você deve primeiro criar um log.

wstrace.bat sobre

O nível de rastreio (informação, erro ou verbose) pode ser modificado da seguinte forma:

wstrace.bat atualização [informação | erro | detalhado]

Para despejar a saída de rastreamento, use o seguinte comando:

wstrace.bat despejo > temp.csv

Os eventos serão despejados no arquivo CSV até que Ctrl-C seja pressionado ou o rastreamento seja desativado.

Formato de arquivo de rastreamento

Os arquivos CSV criados por wstrace.bat são arquivos de texto simples separados por vírgula. Esses arquivos podem ser abertos no Excel, Bloco de Notas, etc.

As colunas do ficheiro são as seguintes:

  • TimeStamp - Carimbo de data/hora de quando o evento foi registrado
  • ProcessID - ID ULONG do processo que grava o evento
  • ThreadID - ID ULONG do thread que regista o evento
  • Evento - O valor enumerado do tipo de evento pode ser ("entrada da API" | "API pendente" | "API saída sincrónica com sucesso" | "API saída sincrónica com falha" | "API saída assíncrona com sucesso" | "API saída assíncrona com falha" | "IO começou" | "IO concluído" | "IO falhou" | "erro" | "início da mensagem recebida" | "mensagem recebida" | "parar mensagem recebida" | "enviar início de mensagem" | "enviar mensagem" | "parar envio de mensagem")
  • Operação - O nome da operação que está sendo invocada. Normalmente, isto corresponde à API chamada.
  • Erro - Número de erro HRESULT opcional
  • Info - Informações opcionais sobre o evento

Coletando WWSAPI ETW Trace File usando ferramentas ETW (funciona em XPSP2 e superior)

Ativação do rastreamento ETW para WWSAPI

logman iniciar wstrace -bs 64 -ft 1 -rt -p Microsoft-Windows-WebServices [flags [level]] [-o <EtlLogFileName>] -ets

para criar e iniciar a sessão de rastreamento ETW. Logman.exe é uma ferramenta ETW embutida disponível em todas as plataformas suportadas. Observe que você precisa usar Microsoft_Windows_WebServices como o nome do provedor em XPSP2 e W2K3. Você pode executar provedores de consulta logman para ver a lista de provedores registrados. O provedor Microsoft-Windows-WebServices (ou Microsoft_Windows_WebServices) deve ser listado, a menos que não esteja registado. O provedor é normalmente registrado durante a instalação. No entanto, ele também pode ser registrado manualmente executando wevtutil.exe im <ManifestFileName> (no Windows Vista e posterior) ou mofcomp.exe <MofFileName> (em XPSP2 e W2K3).

As bandeiras podem ser usadas para filtrar os traços por seu tipo. Pode ser o valor combinado através da operação OR dos seguintes tipos de rastreio. Se não for fornecido, todos os tipos de rastreamento serão habilitados.

  • 0x1 - Rastreamentos de entrada/saída da API.
  • 0x2 - Rastos de erro.
  • 0x4 - Rastreios IO.
  • 0x8 - Rastreamentos de mensagens SOAP.
  • 0x10 - Registos de mensagens binárias.

Level pode ser usado para filtrar os registos por seu nível. Deve ser um dos seguintes valores. Se não for fornecido, todos os níveis de rastreamento serão habilitados.

  • 0x1 - Vestígios fatais.
  • 0x2 - Rastros de erros.
  • 0x3 - Traços de aviso.
  • 0x4 - Registos informativos.
  • 0x5 - Vestígios detalhados.

EtlLogFileName é o caminho para o arquivo de log de eventos ETW a ser criado (use a extensão .etl). Se não for fornecido, o ETW escolherá um nome aleatório que pode ser consultado mais tarde. Esse arquivo não deve residir no diretório de perfil do usuário. O arquivo de log de eventos ETW (arquivo .etl) está em formato binário. Ele pode ser consumido por aplicativos ETW, mas não está em formato legível por humanos. A próxima etapa descreve como exibir seu conteúdo.

Execute o seu cenário

Coletando o arquivo de log de eventos ETW.

logman parar wstrace -ets

para interromper a sessão de rastreamento ETW. É quando o ETW para de registrar os eventos. O arquivo de log de eventos ETW (especificado no parâmetro EtlLogFileName) está pronto para ser consumido. Pode ser visualizado localmente (as instruções são dadas abaixo) ou enviado ao grupo de produtos para investigação.

Exemplo de ponta a ponta usando ferramentas ETW:

logman iniciar wstrace -bs 64 -ft 1 -rt -p Microsoft-Windows-WebServices -o mytrace.etl -ets

eco .. Execute seu cenário.

logman parar wstrace -ets

tracerpt mytrace.etl -o mytrace.xml

wstrace.htm

eco .. Utilize mytrace.xml e wstrace.xsl na página aberta.

Visualização de rastros do arquivo de rastreamento ETW WWSAPI usando a ferramenta wstracedump.exe (funciona no Windows XP e superior)

Wstracedump.exe é uma utilitária ETW personalizada, desenvolvida especificamente para processar eventos no arquivo de rastreio ETW da WWSAPI e produzir uma saída legível por humanos. Pode produzir produção de todas as plataformas suportadas. Consulte a sua utilização (wstracedump.exe -?) para obter mais informações.

Visualização de registos do ficheiro de rastreamento ETW WWSAPI usando ferramentas ETW (funciona no Windows Vista ou superior)

Tracerpt.exe é a ferramenta para visualizar o conteúdo de um arquivo de log de eventos ETW e disponível em todas as plataformas suportadas. Ele pode ser usado para gerar arquivos de despejo CSV, EVTX ou XML a partir de um arquivo de log de eventos ETW. No entanto, o arquivo de saída gerado tem rastreamentos legíveis por humanos somente no Windows Vista e posterior. Estas instruções descrevem como gerar o arquivo de despejo XML e usá-lo junto com um arquivo xsl para exibir os rastreamentos em um formato agradável (o arquivo xsl é muito trivial e pode ser alterado se diferentes formatos forem desejados).

  • Correr

    tracerpt <EtlLogFileName> -o <OutputXMLFileName>

    para criar um despejo XML a partir do arquivo ETL binário (tracerpt.exe cria o arquivo de saída no formato XML por padrão. Executar tracerpt -? Para ver outros formatos disponíveis).

  • Neste ponto, você pode ver as informações de rastreamento no arquivo XML. Além disso, pode abrir o ficheiro wstrace.htm e usar o ficheiro dump xml e o ficheiro wstrace.xsl para ver os rastreamentos num formato mais agradável. Observe que os arquivos precisam estar na máquina local para poder usar esse arquivo html no IE.

Segurança

Ao habilitar o rastreamento, os administradores devem levar em conta que ele consome espaço em disco adicional e poder de computação. Um cliente ou aplicativo mal-intencionado pode esgotar os recursos do sistema, a menos que as configurações de rastreamento sejam configuradas com limites razoáveis. Ao usar o recurso de rastreamento de mensagens, as mensagens que carregam informações confidenciais, como credenciais, informações pessoais, etc., podem ser mantidas no disco ou visualizadas por qualquer pessoa que tenha acesso ao visualizador de eventos do sistema. Como atenuação desse problema, o rastreamento pode ser habilitado por usuários do sistema ou do administrador no Windows 2003 e posterior. O rastreamento de mensagens está desativado no Windows XP, no qual qualquer usuário pode ativar o rastreamento.

A enumeração seguinte é usada com o rastreamento: