Análise e visualização de eventos com o Application Insights

Parte do Azure Monitor, o Application Insights é uma plataforma extensível para monitorização e diagnóstico de aplicações. Inclui uma poderosa ferramenta de análise e consulta, dashboards e visualizações personalizáveis e outras opções, incluindo alertas automatizados. A integração do Application Insights com o Service Fabric inclui experiências de ferramentas para o Visual Studio e portal do Azure, bem como métricas específicas do Service Fabric, proporcionando uma experiência de registo completa. Embora muitos registos sejam criados e recolhidos automaticamente com o Application Insights, recomendamos que adicione mais registos personalizados às suas aplicações para criar uma experiência de diagnóstico mais avançada.

Este artigo ajuda a abordar as seguintes perguntas comuns:

  • Como devo proceder para saber o que se passa dentro da minha aplicação e serviços e recolher telemetria?
  • Como devo proceder para resolver problemas da minha aplicação, especialmente os serviços que comunicam entre si?
  • Como devo proceder para obter métricas sobre o desempenho dos meus serviços, por exemplo, tempo de carregamento de páginas, pedidos HTTP?

O objetivo deste artigo é mostrar como obter informações e resolver problemas a partir do Application Insights. Se quiser saber como configurar o Application Insights com o Service Fabric, veja este tutorial.

Monitorização no Application Insights

O Application Insights tem uma experiência completa ao utilizar o Service Fabric. Na página de descrição geral, o Application Insights fornece informações importantes sobre o seu serviço, como o tempo de resposta e o número de pedidos processados. Ao clicar no botão "Procurar" na parte superior, pode ver uma lista de pedidos recentes na sua aplicação. Além disso, poderá ver os pedidos falhados aqui e diagnosticar os erros que podem ter ocorrido.

Descrição Geral do Application Insights

No painel direito da imagem anterior, existem dois tipos principais de entradas na lista: pedidos e eventos. Os pedidos são chamadas efetuadas à API da aplicação através de pedidos HTTP neste caso e os eventos são eventos personalizados, que funcionam como telemetria que pode adicionar em qualquer parte do seu código. Pode explorar ainda mais a instrumentação das suas aplicações na API do Application Insights para eventos e métricas personalizados. Clicar num pedido apresentaria mais detalhes, conforme mostrado na imagem seguinte, incluindo dados específicos do Service Fabric, que são recolhidos no pacote NuGet do Service Fabric do Application Insights. Estas informações são úteis para resolver problemas e saber qual é o estado da sua aplicação e todas estas informações são pesquisáveis no Application Insights

Captura de ecrã que mostra mais detalhes, incluindo dados específicos do Service Fabric, que são recolhidos no pacote NuGet do Service Fabric do Application Insights.

O Application Insights tem uma vista designada para consultar todos os dados incluídos. Selecione "Explorador de Métricas" na parte superior da página Descrição geral para navegar para o portal do Application Insights. Aqui, pode executar consultas em eventos personalizados mencionados anteriormente, pedidos, exceções, contadores de desempenho e outras métricas com a linguagem de consulta Kusto. O exemplo seguinte mostra todos os pedidos nas últimas 1 hora.

Detalhes do Pedido do Application Insights

Para explorar ainda mais as capacidades do portal do Application Insights, aceda à documentação do portal do Application Insights.

Configurar o Application Insights com o EventFlow

Se estiver a utilizar o EventFlow para agregar eventos, certifique-se de que importa o Microsoft.Diagnostics.EventFlow.Outputs.ApplicationInsightspacote NuGet. É necessário o seguinte código na secção outputs do eventFlowConfig.json:

"outputs": [
    {
        "type": "ApplicationInsights",
        "instrumentationKey": "***ADD INSTRUMENTATION KEY HERE***"
    }
]

Certifique-se de que faz as alterações necessárias nos filtros, bem como inclui quaisquer outras entradas (juntamente com os respetivos pacotes NuGet).

Application Insights SDK

Recomenda-se que utilize o EventFlow e o WAD como soluções de agregação, uma vez que permitem uma abordagem mais modular aos diagnósticos e à monitorização, ou seja, se quiser alterar as saídas do EventFlow, não é necessária qualquer alteração à instrumentação real, apenas uma modificação simples ao ficheiro de configuração. Se decidir investir na utilização do Application Insights e não for provável que mude para uma plataforma diferente, deve analisar a utilização do novo SDK do Application Insights para agregar eventos e enviá-los para o Application Insights. Isto significa que já não terá de configurar o EventFlow para enviar os seus dados para o Application Insights, mas irá instalar o pacote NuGet do Service Fabric do ApplicationInsight. Os detalhes do pacote podem ser encontrados aqui.

O suporte do Application Insights para Microsserviços e Contentores mostra-lhe algumas das novas funcionalidades que estão a ser trabalhadas (atualmente ainda em versão beta), que lhe permitem ter opções de monitorização completas mais avançadas com o Application Insights. Estes incluem o controlo de dependências (utilizado na criação de um AppMap de todos os seus serviços e aplicações num cluster e a comunicação entre eles) e uma melhor correlação de rastreios provenientes dos seus serviços (ajuda a identificar melhor um problema no fluxo de trabalho de uma aplicação ou serviço).

Se estiver a desenvolver no .NET e provavelmente estiver a utilizar alguns dos modelos de programação do Service Fabric e estiver disposto a utilizar o Application Insights como plataforma para visualizar e analisar dados de eventos e registos, recomendamos que aceda à rota do SDK do Application Insights como o fluxo de trabalho de monitorização e diagnóstico. Leia a documentação do Application Insights e a documentação dos registos de rastreio para começar a utilizar o Application Insights para recolher e apresentar os seus registos.

Depois de configurar o Application Insights como uma saída para os seus eventos e registos, as informações deverão começar a aparecer no recurso do Application Insights dentro de alguns minutos. Navegue para o recurso do Application Insights, que irá levá-lo para o dashboard de recursos do Application Insights. Selecione Procurar na barra de tarefas do Application Insights para ver os rastreios mais recentes que recebeu e para poder filtrar através dos mesmos.

O Explorador de Métricas é uma ferramenta útil para criar dashboards personalizados com base em métricas que as suas aplicações, serviços e cluster podem estar a reportar. Veja Explorar Métricas no Application Insights para configurar alguns gráficos com base nos dados que está a recolher.

Clicar em Análise irá direcioná-lo para o portal de Análise do Application Insights, onde pode consultar eventos e rastreios com maior âmbito e opcionalidade. Leia mais sobre isto no Analytics no Application Insights.

Passos seguintes