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

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

Este artigo ajuda a resolver as seguintes perguntas comuns:

  • Como posso saber o que se passa na minha aplicação e serviços e recolher telemetria?
  • Como soluciono problemas do meu aplicativo, especialmente os serviços que se comunicam entre si?
  • Como faço para obter métricas sobre o desempenho dos meus serviços, por exemplo, tempo de carregamento de página, solicitações HTTP?

O objetivo deste artigo é mostrar como obter informações e solucionar problemas de dentro do Application Insights. Se você quiser saber como configurar o Application Insights com o Service Fabric, confira este tutorial.

Monitoramento em Application Insights

O Application Insights tem uma experiência avançada e pronta para uso 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» no topo, pode ver uma lista de pedidos recentes na sua aplicação. Além disso, você seria capaz de ver solicitações com falha aqui 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. Neste caso, as solicitações são chamadas feitas à API do aplicativo por meio de solicitações HTTP, e os eventos são eventos personalizados, que atuam como telemetria que você pode adicionar em qualquer lugar do código. Você pode explorar ainda mais a instrumentação de seus aplicativos na API do Application Insights para eventos e métricas personalizados. Clicar em uma solicitação exibiria mais detalhes, conforme mostrado na imagem a seguir, incluindo dados específicos do Service Fabric, que são coletados no pacote NuGet do Application Insights Service Fabric. Essas informações são úteis para solucionar problemas e saber qual é o estado do seu aplicativo, e todas essas informações podem ser pesquisadas no Application Insights

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

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

Detalhes da solicitação do Application Insights

Para explorar melhor os recursos do portal do Application Insights, vá para a documentação do portal do Application Insights.

Configurando o Application Insights com o EventFlow

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

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

Certifique-se de fazer as alterações necessárias em seus filtros, bem como incluir quaisquer outras entradas (junto com seus respetivos pacotes NuGet).

Application Insights SDK

Recomenda-se usar EventFlow e WAD como soluções de agregação, porque eles permitem uma abordagem mais modular para diagnóstico e monitoramento, ou seja, se você quiser alterar suas saídas do EventFlow, não requer nenhuma alteração na sua instrumentação real, apenas uma simples modificação no seu arquivo de configuração. Se você decidir investir no uso do Application Insights e não for provável que mude para uma plataforma diferente, procure usar o novo SDK do Application Insights para agregar eventos e enviá-los para o Application Insights. Isso significa que você não precisará mais configurar o EventFlow para enviar seus dados para o Application Insights, mas instalará o pacote NuGet do Service Fabric do ApplicationInsight. Os detalhes sobre o pacote podem ser encontrados aqui.

O suporte do Application Insights para Microsserviços e Contêineres mostra alguns dos novos recursos que estão sendo trabalhados (atualmente ainda em fase beta), que permitem que você tenha opções de monitoramento mais avançadas e prontas para uso 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 uma 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ê passe pela 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 no recurso do Application Insights em alguns minutos. Navegue até o recurso do Application Insights, que o levará ao painel de recursos do Application Insights. Selecione Pesquisar na barra de tarefas do Application Insights para ver os rastreamentos mais recentes recebidos e para poder filtrá-los.

O Metrics Explorer é uma ferramenta útil para criar painéis personalizados com base em métricas que seus aplicativos, serviços e cluster podem estar relatando. Consulte Explorando métricas 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 do Application Insights Analytics, onde poderá consultar eventos e rastreamentos com maior escopo e opcionalidade. Leia mais sobre isso em Analytics in Application Insights.

Próximos passos