Compartilhar via


Diagnosticar cenários comuns com o Service Fabric

Este artigo ilustra os cenários comuns que os usuários encontraram na área de monitoramento e diagnóstico com o Service Fabric. Os cenários apresentados abrangem todas as três camadas da estrutura de serviço: Aplicativo, Cluster e Infraestrutura. Cada solução usa o Application Insights, os logs do Azure Monitor e as ferramentas de monitoramento do Azure para concluir cada cenário. As etapas em cada solução dão aos usuários uma introdução sobre como usar o Application Insights e os logs do Azure Monitor no contexto do Service Fabric.

Pré-requisitos e recomendações

As soluções nesse artigo usam as ferramentas a seguir. Recomendamos que você tenha os itens a seguir instalados e configurados:

Como posso ver exceções sem tratamento no meu aplicativo?

  1. Navegue até o recurso do Application Insights com o qual seu aplicativo está configurado.

  2. Selecione Pesquisar no canto superior esquerdo. Em seguida, selecione filtro no próximo painel.

    Visão geral do AI

  3. Você verá muitos tipos de eventos (rastreamentos, solicitações, eventos personalizados). Escolha "Exceção" como filtro.

    Lista de filtros de AI

    Ao clicar em uma exceção na lista, você poderá ver mais detalhes, incluindo o contexto do serviço, se estiver usando o SDK do Service Fabric Application Insights.

    Exceção de AI

Como visualizo quais chamadas HTTP são usadas em meus serviços?

  1. No mesmo recurso do Application Insights, você pode filtrar "solicitações" em vez de exceções e exibir todas as solicitações feitas

  2. Se estiver usando o SDK do Service Fabric Application Insights, você poderá ver uma representação visual dos seus serviços conectados entre si e o número de solicitações bem-sucedidas e com falha. À esquerda, selecione "Mapa de aplicativos"

    Folha do mapa do aplicativo de IAMapa do aplicativo de IA

    Para obter mais informações sobre o mapa de aplicativo, visite a documentação do Mapa do aplicativo

Como crio um alerta quando um nó falhar

  1. Eventos de nó são controlados pelo cluster do Service Fabric. Navegue para o recurso da solução de Análise do Service Fabric chamado ServiceFabric(NameofResourceGroup)

  2. Selecione o gráfico na parte inferior da folha intitulado "Resumo"

    Solução de logs do Azure Monitor

  3. Aqui, você tem muitos gráficos e blocos exibindo várias métricas. Selecione um dos gráficos e ele o levará para a Pesquisa de Log. Aqui, você pode consultar quaisquer eventos de cluster ou os contadores de desempenho.

  4. Insira a consulta a seguir. Essas IDs de evento são encontradas na Referência de eventos de nó

    ServiceFabricOperationalEvent
    | where EventID >= 25622 and EventID <= 25626
    
  5. Selecione "Nova regra de alerta" na parte superior e agora, sempre que um evento chegar com base nessa consulta, você receberá um alerta no método de comunicação escolhido.

    Alerta de logs do Azure Monitor

Como posso ser avisado de reversões de atualização de aplicativo?

  1. Na mesma janela Log Search de antes, insira a seguinte consulta para reversões de atualização. Essas IDs de evento são encontradas na Referência de eventos de aplicativo

    ServiceFabricOperationalEvent
    | where EventID == 29623 or EventID == 29624
    
  2. Selecione "Nova regra de alerta" na parte superior e agora, sempre que um evento chegar com base nessa consulta, você receberá um alerta.

Como posso ver as métricas de contêiner?

Na mesma visualização de todos os gráficos, você verá alguns blocos de desempenho de seus contêineres. Você precisa que o agente do Log Analytics e solução de Monitoramento de Contêiner para essas peças preencherem.

Métricas de contêiner do Log Analytics

Observação

Para instrumentar a telemetria de dentro de seu contêiner, você precisará adicionar o pacote do nuget do Application Insights para contêineres.

Como posso monitorar contadores de desempenho?

  1. Depois que você tiver adicionado o Agente do Log Analytics ao cluster de que você precisa para adicionar contadores de desempenho específicos que você deseja controlar. Navegue até a página do Espaço de Trabalho do Log Analytics no portal – na página da solução, a guia de espaço de trabalho está no menu à esquerda.

    Guia de espaço de trabalho do Log Analytics

  2. Quando estiver na página do espaço de trabalho, selecione “Configurações avançadas” no mesmo menu esquerdo.

    Configurações avançadas do Log Analytics

  3. Selecione Dados > Contadores de Desempenho do Windows (Dados > Contadores de Desempenho do Linux para máquinas Linux) para começar a coletar contadores específicos de seus nós por meio do agente Log Analytics. Aqui estão exemplos de formato para os contadores a serem adicionados

    • .NET CLR Memory(<ProcessNameHere>)\\# Total committed Bytes

    • Processor(_Total)\\% Processor Time

      No início rápido, VotingData e VotingWeb são os nomes de processo usados, portanto, como seria o acompanhamento desses contadores

    • .NET CLR Memory(VotingData)\\# Total committed Bytes

    • .NET CLR Memory(VotingWeb)\\# Total committed Bytes

      Contadores de desempenho do Log Analytics

  4. Isso permite que você veja como sua infraestrutura está lidando com suas cargas de trabalho e defina alertas relevantes com base na utilização de recursos. Por exemplo – você pode querer definir um alerta se a utilização total do processador for superior a 90% ou inferior a 5%. O nome do contador que você usaria para isso é "% do Tempo do Processador". Você poderá fazer isso criando uma regra de alerta para a consulta a seguir:

    Perf | where CounterName == "% Processor Time" and InstanceName == "_Total" | where CounterValue >= 90 or CounterValue <= 5.
    

Como acompanhar o desempenho de meu Reliable Services e Atores?

Para monitorar o desempenho de Reliable Services ou Atores em seus aplicativos, você deverá coletar o Ator do Service Fabric, o Método de Autor, o Serviço e os contadores de Método de Serviço também. Aqui estão exemplos de contadores de desempenho de serviço e ator confiáveis a serem coletados

Observação

Os contadores de desempenho do Service Fabric não podem ser coletados pelo agente do Log Analytics no momento, mas podem ser coletados por outras soluções de diagnóstico

  • Service Fabric Service(*)\\Average milliseconds per request
  • Service Fabric Service Method(*)\\Invocations/Sec
  • Service Fabric Actor(*)\\Average milliseconds per request
  • Service Fabric Actor Method(*)\\Invocations/Sec

Verifique esses links para a lista completa de contadores de desempenho em Reliable Services e Atores

Próximas etapas