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.
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
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.
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.ApplicationInsights
NuGet. 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.
Navegando no recurso Application Insights no portal do Azure
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
- Configurar alertas no AI para ser notificado sobre mudanças no desempenho ou uso
- Detecção inteligente no Application Insights realiza uma análise proativa da telemetria enviada ao Application Insights para avisá-lo de possíveis problemas de desempenho