Visualização e análise de eventos com o Application Insights

Parte do Monitor do Azure, o Application Insights é uma plataforma extensível para monitoramento e diagnóstico de aplicativos. Inclui uma poderosa ferramenta de análise e consulta, visualizações e dashboard personalizável 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 o portal do Azure, bem como métricas específicas do Service Fabric, fornecendo uma experiência de registro abrangente e pronta para uso. Embora muitos logs sejam automaticamente criados e coletados para você com o Application Insights, recomendamos que você adicione mais log personalizado aos seus aplicativos para criar uma experiência de diagnóstico mais completa.

Este artigo ajuda a resolver as seguintes questões comuns:

  • Como eu sei o que está acontecendo dentro do meu aplicativo e serviços e reúno telemetria?
  • Como faço para solucionar meu aplicativo, especialmente os serviços que se comunicam uns com os outros?
  • Como faço para obter métricas sobre o desempenho dos meus serviços, por exemplo, o tempo de carregamento da página, as solicitações HTTP?

O objetivo deste artigo é mostrar como obter insights e solucionar problemas no Application Insights. Se você quiser aprender a configurar o Application Insights com o Service Fabric, confira este tutorial.

Monitoramento no Application Insights

O Application Insights tem uma experiência avançada ao usar o Service Fabric. Na página de visão geral, o Application Insights fornece informações importantes sobre seu serviço, como o tempo de resposta e o número de solicitações processadas. Ao clicar no botão "Pesquisar" na parte superior, é possível ver uma lista de solicitações recentes no aplicativo. Além disso, você poderá ver solicitações com falha e diagnosticar quais erros podem ter ocorrido.

Visão geral do Application Insights

No painel direito da imagem anterior, há dois tipos principais de entradas na lista: solicitações e eventos. Solicitações são chamadas feitas à API do aplicativo por meio de solicitações HTTP nesse caso e os eventos são eventos personalizados, que funcionam como telemetria que você pode adicionar em qualquer parte do código. É possível explorar ainda mais a instrumentação dos aplicativos em API do Application Insights para métricas e eventos personalizados. Ao clicar em uma solicitação exibirá detalhes adicionais, conforme mostrado na imagem a seguir, incluindo dados específicos do Service Fabric que são coletados no pacote NuGet do Service Fabric do Application Insights. Essas informações são úteis para solucionar problemas e saber qual é o estado do aplicativo e todas essas informações podem ser pesquisadas no Application Insights

Captura de tela que mostra os detalhes adicionais, incluindo dados específicos do Service Fabric que são coletados no pacote NuGet do Service Fabric do Application Insights.

O Application Insights tem uma exibição designada para consultar todos os dados que chegam. Selecione "Metrics Explorer" na parte superior da página de Visão geral para navegar até o portal do Application Insights. Aqui, é possível executar consultas em eventos personalizados mencionados anteriormente, solicitações, exceções, contadores de desempenho e outras métricas usando a linguagem de consulta do Kusto. O exemplo a seguir mostra todas as solicitações na última 1 hora.

Detalhes do pedido de insights do aplicativo

Para explorar ainda mais os recursos do portal do Application Insights, acesse a documentação do portal Application Insights.

Configurar o Application Insights com EventFlow

Se você estiver utilizando EventFlow para agregar eventos, certifique-se de importar o pacote Microsoft.Diagnostics.EventFlow.Outputs.ApplicationInsightsNuGet. O código a seguir é necessário na seção saídas do eventFlowConfig.json:

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

Certifique-se de fazer as alterações necessárias nos filtros, assim como incluir quaisquer outras entradas (em conjunto com os respectivos pacotes NuGet).

SDK do Application Insights

Recomenda-se usar o EventFlow e o WAD como soluções de agregação porque permitem uma abordagem mais modular para diagnósticos e monitoramento, ou seja, se você quiser alterar as saídas do EventFlow, não será necessário alterar a instrumentação, basta uma simples modificação no arquivo de configuração. Se você decidir investir no uso do Application Insights e provavelmente não mudará para uma plataforma diferente, procure usar o novo SDK do Application Insights para agregar eventos e enviá-los ao Application Insights. Isso significa que você não precisará mais configurar o EventFlow para enviar seus dados para o Application Insights, mas, em vez disso, instalará o pacote Service Fabric NuGet do ApplicationInsight. Detalhes sobre o pacote podem ser encontrados aqui.

O suporte do Application Insights para micros serviços e contêineres mostra alguns dos novos recursos que estão sendo trabalhados (atualmente ainda em beta), que permitem que você tenha opções de monitoramento mais avançadas com o Application Insights. Isso inclui o rastreamento de dependência (usado na criação de um AppMap de todos os seus serviços e aplicativos em um cluster e a comunicação entre eles) e melhor correlação de rastreamentos provenientes de seus serviços (ajuda a identificar melhor um problema no fluxo de trabalho de um aplicativo ou serviço).

Se você estiver desenvolvendo no .NET e provavelmente usará alguns dos modelos de programação do Service Fabric e estiver disposto a usar o Application Insights como sua plataforma para visualizar e analisar dados de eventos e logs, recomendamos que você acesse a rota do SDK do Application Insights como seu fluxo de trabalho de monitoramento e diagnóstico. Leia a documentação do Application insights e a documentação dos logs de rastreamento para começar a usar o Application insights para coletar e exibir seus logs.

Depois de configurar o Application Insights como uma saída para seus eventos e logs, as informações devem começar a aparecer em seu recurso do Application Insights em alguns minutos. Navegue até o recurso Application Insights, que o levará ao painel de recursos do Application Insights. Clique em Pesquisar na barra de tarefas do Application Insights para ver os últimos rastreamentos recebidos e para filtrá-los.

Metrics Explorer é uma ferramenta útil para criar painéis personalizados com base em métricas que seus aplicativos, serviços e clusters podem estar reportando. Consulte Exploring Metrics no Application Insights para configurar alguns gráficos com base nos dados que você está coletando.

Ao clicar em Análise você será direcionado para o portal de Análise do Application Insights, onde poderá consultar eventos e rastreamentos com maior escopo e opcionalidade. Leia mais sobre isso em Análise no Application Insights.

Próximas etapas