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:
- Application Insights com Service Fabric
- Habilite o Diagnóstico do Azure no seu cluster
- Configurar um espaço de trabalho do Log Analytics
- Agente do Log Analytics para rastrear Contadores de Desempenho
Como posso ver exceções sem tratamento no meu aplicativo?
Navegue até o recurso do Application Insights com o qual seu aplicativo está configurado.
Selecione Pesquisar no canto superior esquerdo. Em seguida, selecione filtro no próximo painel.
Você verá muitos tipos de eventos (rastreamentos, solicitações, eventos personalizados). Escolha "Exceção" como filtro.
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.
Como visualizo quais chamadas HTTP são usadas em meus serviços?
No mesmo recurso do Application Insights, você pode filtrar "solicitações" em vez de exceções e exibir todas as solicitações feitas
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"
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
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)
Selecione o gráfico na parte inferior da folha intitulado "Resumo"
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.
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
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.
Como posso ser avisado de reversões de atualização de aplicativo?
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
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.
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?
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.
Quando estiver na página do espaço de trabalho, selecione “Configurações avançadas” no mesmo menu esquerdo.
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
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
- Pesquisar erros comuns de ativação do Pacote de códigos
- Configurar alertas no AI para ser notificado sobre mudanças no desempenho ou uso
- Detecção Inteligente no Application Insights realiza uma análise pró-ativa da telemetria enviada ao AI para avisá-lo sobre possíveis problemas de desempenho
- Saiba mais sobre os alertas do Azure Monitor para auxiliar na detecção e no diagnóstico.
- Para clusters locais, os logs do Azure Monitor oferecem um gateway (Proxy de Encaminhamento HTTP) que pode ser usado para enviar dados aos logs do Azure Monitor. Leia mais sobre isso em Conectar computadores sem acesso à Internet aos logs do Azure Monitor usando o gateway do Log Analytics
- Familiarize-se com os recursos de pesquisa e consulta de logs oferecidos como parte dos logs do Azure Monitor
- Para obter uma visão geral detalhada dos logs do Azure Monitor e o que ele oferece, leia O que são logs do Azure Monitor?