Compartilhar via


Monitoramento de histórico usando métricas de chamada do WCF

A seção Histórico de Chamadas de WCF exibe métricas históricas para chamadas de WCF recebidas nos serviços WF e .NET Framework 4 do WCF, gerenciados pelo AppFabric. As métricas de resumo Concluídas e Erros fornecem um total acumulado de êxitos e falhas como resultado das chamadas de WCF recebidas. Você pode expandir a seção Histórico de Chamadas de WCF (clicando na seta para baixo ou em qualquer lugar, exceto nos links da métrica de resumo dentro da barra de títulos Histórico de Chamadas de WCF) para exibir os cinco principais serviços com Chamadas Concluídas ou Exceções de Serviço. Essa ação também mostra o número de Erros - Agrupados por tipos comuns. Você pode usar esses valores de resumo de alto nível e suas exibições detalhadas correlacionadas descendentes para monitorar o histórico das chamadas de WCF para seus serviços.

Métricas do Histórico de Chamadas de WCF

A seção Histórico de Chamadas de WCF no AppFabric Dashboard fornece uma exibição resumida das chamadas de serviço WCF na caixa de cabeçalho sombreada na qual o título Histórico de Chamadas de WCF existe. As seguintes métricas fornecem uma exibição rápida das chamadas de WCF que foram concluídas com êxito e daquelas que falharam:

  • A métrica de resumo Concluídas é um total acumulado das chamadas de WCF recebidas que foram concluídas sem gerar um erro ou uma exceção, produzindo o tipo de evento OperationCompleted do WCF.

  • A métrica de resumo Erros é um total acumulado que representa todas as exceções relacionadas ao WCF e erros definidos pelo usuário que ocorrem em toda a pilha de WCF. Essa contagem inclui erros resultantes do número de chamadas com falha ou interrompida, mas não se limita a esses erros.

  • A métrica Ocorrências de Limitação fornece uma contagem do número de períodos de limitação do WCF experimentados por qualquer serviço implantado no escopo aplicável. Um período de limitação começa quando um limite máximo de WCF é excedido. E termina quando a taxa de transferência cai 70% do limite máximo.

Abaixo das métricas de resumo estão as seguintes métricas de serviço, que resumem o número de serviços dentro de categorias de chamadas específicas na ordem decrescente:

  • Chamadas Concluídas - Agrupadas por Serviço (5 primeiras) - Os cinco primeiros serviços com o mais alto número total de chamadas de WCF concluídas no período de tempo especificado.

  • Exceções de Serviço - Agrupadas por Serviço (5 primeiras) - Os cinco primeiros serviços com o mais alto número total de exceções no período de tempo especificado.

  • Erros - Agrupados por Tipos Comuns – Agrupamento do número total de exceções de serviço ou erros definidos pelo usuário. A contagem de exceções de serviço também é dividida por duas das causas mais comuns: chamadas com falha e interrompidas. As exceções de serviço também podem ser causadas por problemas que não sejam chamadas com falha ou interrompidas, por exemplo, por erros de ativação.

Nem Todos os eventos WCF rastreados estão incluídos nas colunas Chamadas Concluídas - Agrupadas por Serviço (5 primeiras) ou Exceções de Serviço - Agrupadas por Serviço (5 primeiras) do Painel. Os eventos exibidos nessas colunas de "5 primeiras" não incluem aqueles eventos emitidos pelo serviço interno do AppFabric que gerencia pontos de extremidade e eventos. Apenas eventos que possuem um caminho virtual de serviço completo serão exibidos nessas duas colunas. Os eventos gerados acima das 5 primeiras ocorrências na pilha de canais do WCF, como retornos de chamadas e exceções de serviços, não conterão um caminho virtual de serviço completo. Eventos que não contêm um caminho virtual de serviço completo serão excluídos desses contadores. Isso garante que apenas serviços de usuários, e não aplicativos de usuários, apareçam nos valores do contador.

Página Eventos Controlados

Você pode usar a página Eventos Controlados para obter uma exibição histórica dos eventos que ocorreram durante uma sequência específica de chamadas de WCF para uma instância de serviço. Clicando em qualquer métrica de resumo (por exemplo, (Concluídas) ou em um dos links de serviço em uma coluna na seção Histórico de Chamadas de WCF (por exemplo, na coluna Chamadas Concluídas), você é direcionado à página Eventos Controlados.

Página Eventos Rastreados

O link no qual você clica para levá-lo da página AppFabric Dashboard à página Eventos Controlados é usado para filtrar os dados de eventos e a chamada de WCF, para que os itens enumerados na página Eventos Controlados sejam específicos a esse link de origem. Por exemplo, clicar em um link de entrada de serviço na coluna Exceções de Serviço Agrupadas por Serviço (5 primeiras) o redirecionará à página Eventos Controlados. Esse link enumera os eventos filtrados pelo tipo de evento de serviço (nesse caso, Exceções de WCF) e o tempo de emissão correspondente à métrica e ao período de tempo selecionados no AppFabric Dashboard.

Você pode, no entanto, alterar o valor de um ou mais campos (Eventos) no quadro Resumo de Consulta para alterar a saída inicial e resolver problemas em um tipo de evento específico. Por exemplo, se a métrica original que o leva à página Eventos Controlados for Exceções de WCF, você poderá alterar o valor do campo Eventos para Todos os eventos WCF e depois clicar em Executar Consulta para ver diferentes resultados.

As seguintes opções podem ser usadas para filtrar os tipos de eventos que serão exibidos:

  • Todos os eventos WCF - Exibe todos os eventos do WCF disponíveis no repositório de monitoramento, incluindo Chamadas Concluídas de WCF, Exceções de WCF, Chamadas com Falha de WCF e Chamadas Interrompidas de WCF, mas não se limita a tais eventos.

  • Chamadas de WCF concluídas - Exibe todas as chamadas concluídas de WCF.

  • Todos os erros de WCF - Exibe todos os eventos emitidos no nível Erro: exceções de serviços e eventos de erros definidos pelo usuário.

  • Exceções de WCF - Exibe todas as exceções de serviços de WCF.

  • Erros de WCF definidos por usuário - Exibe todos os eventos definidos pelo usuário que são emitidos no nível Erro.

  • Chamadas de WCF com falha - Exibe todas as chamadas com falha de WCF.

  • Chamadas de WCF com falha - Exibe todas as chamadas interrompidas de WCF.

  • Ocorrências de Limitação de WCF - Exibe todos os eventos de limitação do WCF. Cada evento representa um período de limitação e é emitido quando um limite máximo do WCF é excedido pela primeira vez.

  • Todos os eventos WF - Exibe todos os eventos de WF.

Para obter mais informações, consulte Tracked Events Page.

Resolvendo problemas usando o monitoramento de métricas do histórico de Chamadas de WCF

Você pode usar as informações anteriores em uma abordagem para resolução de problemas através da seção Histórico de Chamadas de WCF para monitorar chamadas de WCF nos serviços de .NET Framework. Quando você exibe inicialmente a seção Histórico de Chamadas de WCF, obtém um resumo de alto nível do status das chamadas de WCF. É possível ver rapidamente se existe um problema com o nível de chamada de WCF através da ocorrência de exceções ou de chamadas com falha ou interrompidas. Se a métrica de resumo Exceções de Serviço - Agrupadas por Serviço (5 primeiras) ou Erros - Agrupados por Tipos Comuns contiver um valor que não seja zero, isso significa que pode ter ocorrido um problema. Cada métrica de resumo está vinculada à página Eventos Controlados, onde é possível ver métricas detalhadas explícitas de dados de chamadas de WCF que a página inicial AppFabric Dashboard resumiu no nível superior. Esses dados não processados fornecem informações adicionais para isolar um problema que possa ocorrer nas chamadas de WCF.

Vamos observar um cenário no qual você esteja usando a seção Histórico de Chamadas de WCF para monitorar chamadas de WCF para os serviços do WCF ou do WF em um determinado escopo com qualquer tipo de problema. Se a métrica de resumo Exceções aparecer com um valor que não seja zero, expandir o widget permitirá que você veja um detalhamento das exceções dos cinco primeiros serviços. Isso permite que você tenha o foco nos serviços com o maior número de possíveis problemas. Depois você pode tocar em um serviço com um problema específico e especificar detalhes indo até a página de enumeração e alterando os valores da consulta.

Suponha que o cabeçalho de resumo Erros no widget Histórico de Chamadas de WCF contenha um valor que não seja zero, o que significa que ocorreram alguns erros. Você pode expandir o widget Histórico de Chamadas de WCF e consultar a coluna Exceções de Serviço - Agrupadas por Serviço (5 primeiras) para ver os cinco principais serviços que encontraram a maior parte das exceções durante o período de tempo selecionado. A coluna Erros - Agrupados por Tipos Comuns também pode ser consultada para obter um detalhamento dos tipos de erros: Exceções de Serviço (causadas geralmente por chamadas com falha ou interrompidas) ou Erros Definidos pelo Usuário. Para obter mais detalhes sobre os erros e as exceções, você pode clicar em um dos links de serviço que o levam à página Eventos Controlados.

Dica

Se o serviço X for um dos 5 primeiros serviços, ele será exibido aqui. Nesse caso, você poderá clicar no link do serviço para ser redirecionado à página Eventos Controlados. Se o serviço X não for um dos cinco primeiros serviços, você poderá clicar em qualquer uma das métricas na seção para ir para a página Eventos Controlados. Depois que estiver nessa página, você poderá modificar a consulta existente de acordo com suas necessidades (ou seja, poderá adicionar a condição de nome de serviço adequada).

A página Eventos Controlados é preenchida com uma exibição histórica das exceções ocorridas no escopo específico da hierarquia do IIS do serviço X. Você pode clicar em um dos eventos de Exceção do WCF na lista (ainda dentro da página Eventos Controlados) para exibir especificações dessa exceção no painel Detalhes, na parte inferior da página. No painel Detalhes, é possível exibir informações sobre a exceção nas guias Visão Geral, Variáveis Controladas ou Erros. A guia Visão Geral contém informações gerais sobre o evento, como E2EActivityID (usado para correlação no rastreamento de ponta a ponta), EventType, ExceptionTypeName, EventSourceId e outras informações relacionadas ao evento. A guia Váriáveis Rastreadas mostra os valores de todas as variáveis explicitamente rastreadas que estão armazenadas no evento. A guia Erros fornece informações de exceção sobre a falha, quando disponíveis. Você pode usar essas informações para entender melhor as exceções do WCF e resolvê-las.

Se precisar de contexto adicional sobre a exceção do WCF, você poderá clicar com o botão direito do mouse na lista e clicar em Exibir Instância WF Controlada. Essa funcionalidade está disponível apenas para Exceções de Serviço do WCF emitidas nos Serviços do Fluxo de Trabalho, através dos quais a página Instâncias WF Controladas exibirá todos os eventos disponíveis para a instância principal. No menu de contexto, você também pode selecionar Exibir Todos os Eventos Relacionados para uma chamada do WCF. Isso atualiza a página Eventos Controlados, preenchendo-a com todos os eventos relacionados ao evento inicial.

Dica

Para que a opção Exibir Todos os Eventos Relacionados possa ser usada, o nível Monitoramento do aplicativo deve estar definido como Monitoramento Fim a Fim ou superior. Esse nível solicita que a infraestrutura de monitoramento colete eventos de transferência que associam um ID de atividade de ponta a ponta (E2EActivityId) a outro.

Como opção, você pode consultar a coluna Exceções de Serviço - Agrupadas por Serviço (5 primeiras) e visualizar o número de Chamadas com Falha ou Chamadas com Falha. O número total de Chamadas com Falha ou Chamadas com Falha contribui para o número total de Exceções de WCF, como está representado no painel de resumo da seção. Clicar no link de uma dessas opções também o redirecionará à página Eventos Controlados. Dependendo do link no qual você clicou, aparecerá uma lista enumerada de eventos para Chamadas de WCF com falha ou Chamadas de WCF com falha, respectivamente. Como descrito acima, a seleção de um dos eventos de chamada na lista enumerada resulta em informações adicionais no painel Detalhes. Você também pode clicar com o botão direito do mouse e selecionar a opção Exibir Todos os Eventos Relacionados ou Exibir Instância WF Controlada, se aplicável.

Para saber como obter informações mais específicas sobre um evento rastreado para ajudá-lo a resolver um problema, consulte Tracked Events Page.

Exibindo informações de erros do WCF

O AppFabric exibe informações de erros baseados no WCF apenas quando o nível de monitoramento de um aplicativo está configurado, no mínimo, como Monitoramento Fim a Fim. Esse nível captura o fluxo de mensagens do WCF entre serviços e a relação entre eventos do WF e do WCF. Para níveis de monitoramento inferiores, inclusive o Monitoramento da Integridade, todas as informações de erros baseados no WCF não serão exibidas nas seguintes seções:

  • As colunas Erros ou Exceções de Serviço na seção Histórico de Chamadas de WCF da página AppFabric Dashboard.

  • A guia Erros no painel Detalhes da página Eventos Controlados.

  • Todas as seções na página Eventos Controlados que exibem eventos do WCF como resultado do critério de consulta.

Por exemplo, a guia Erros na página Eventos Controlados usa eventos de transferência do WCF para reunir informações de exceção do evento de exceção Modelo de Serviço que corresponda a um evento de chamadas com falha ou interrompidas do WCF. Se o aplicativo que está sendo monitorado tiver sido configurado para usar um nível de monitoramento inferior ao nível de Monitoramento Fim a Fim, os eventos de transferência do WCF não serão capturados. Isso resulta na não exibição de valores na guia Erros do painel Detalhes.

Se você usar o nível de Monitoramento Fim a Fim para capturar eventos de transferência e não quiser coletar eventos adicionais do WF, estas serão as etapas necessárias para garantir que isso ocorra:

  1. Abra o arquivo de configuração raiz do servidor em C:\Windows\Microsoft.NET\Framework(64)\v4.0.xxx\CONFIG\Web.config.

  2. Copie todos os códigos entre as entradas <trackingProfile name="HealthMonitoring Tracking Profile"> e </trackingProfile>, incluindo elas, para a área de transferência. A seguir, um exemplo do que será copiado:

    <trackingProfile name="HealthMonitoring Tracking Profile">
       <workflow activityDefinitionId="*">
    <workflowInstanceQueries>
    <workflowInstanceQuery>
       <states>
    <state name="Started" />
    <state name="Completed" />
    <state name="Terminated" />
    <state name="Canceled" />
    <state name="Unsuspended" />
    <state name="Persisted" />
    <state name="Aborted" />
    <state name="UnhandledException" />
       </states>
    </workflowInstanceQuery>
    </workflowInstanceQueries>
    
    <activityStateQueries>
    <activityStateQuery activityName="*">
    <states>
    <state name="Closed" />
    </states>
    </activityStateQuery>
    </activityStateQueries>
    
    <faultPropagationQueries>
       <faultPropagationQuery faultSourceActivityName="*" faultHandlerActivityName="*" />
    </faultPropagationQueries>
    
    <customTrackingQueries>
    <customTrackingQuery name="*" activityName="*" />
    </customTrackingQueries>
    </workflow>
    </trackingProfile>
    
  3. Edite o arquivo Web.config do aplicativo. Verifique se existe um aninhamento de elemento completo e válido de <system.serviceModel><tracking><profiles><trackingProfile>, dentro do qual o conteúdo do elemento <trackingProfile> será colado nas etapas seguintes.

  4. No início da seção <system.serviceModel><tracking><profiles>, adicione <remove name=”EndToEndMonitoring Tracking Profile” />.

  5. Na mesma seção, logo abaixo do local onde a marcação remove foi adicionada, cole o trecho de código copiado para a área de transferência na etapa 2.

  6. Substitua o texto HealthMonitoring Tracking Profile por EndToEndMonitoring Tracking Profile no arquivo Web.config do aplicativo. Salve o arquivo e saia do editor.

  7. Usando o controle deslizante da caixa de diálogo Configurar WCF e WF do Aplicativo, altere o Nível de Monitoramento do Aplicativo para Fim a Fim. O AppFabric usará a entrada local do perfil de rastreamento de ponta a ponta do arquivo Web.config do aplicativo, que não é nada mais que o nível de Monitoramento da Integridade "disfarçado" de entrada do perfil de rastreamento de ponta a ponta.

Consulte também

Outros recursos

Tracked Events Page

  2012-03-05