Introdução
Este módulo apresenta práticas de feedback contínuo e ferramentas de monitoramento essenciais para acompanhar o uso e o fluxo de aplicativos. Saiba como implementar o Azure Monitor, o Log Analytics e o Application Insights para obter informações detalhadas sobre o desempenho do aplicativo, o comportamento do usuário e a integridade do sistema. Explore Kusto Query Language (KQL) para uma análise eficaz de dados.
Porque é que a monitorização contínua é importante
Nas práticas modernas de DevOps, o monitoramento contínuo é crucial para:
- Deteção precoce de problemas: Identificar problemas antes que eles afetem os usuários
- Otimização de desempenho: Rastreie métricas para melhorar a capacidade de resposta do aplicativo
- Informações sobre a experiência do usuário: Entender como os usuários interagem com seus aplicativos
- Decisões baseadas em dados: Faça escolhas informadas com base em dados reais de telemetria
- Alerta proativo: Receber notificações quando os limites forem excedidos
- Otimização de custos: Monitore o uso de recursos para controlar os gastos na nuvem
O que vai aprender
Este módulo abrange a pilha completa de monitoramento e observabilidade no Azure:
Azure Monitor e Análise de Logs
- Monitorização centralizada: Plataforma única para todos os dados de telemetria
- Coleção de logs: Coletar logs de aplicativos, infraestrutura e serviços
- Visualização de métricas: Crie painéis e gráficos para insights em tempo real
- Análise avançada: Use recursos de consulta poderosos para analisar dados
Application Insights
- Monitoramento de desempenho de aplicativos (APM): Acompanhe as taxas de solicitação, os tempos de resposta e as taxas de falha
- Acompanhamento de dependência: Monitorar chamadas para bancos de dados, APIs e serviços externos
- Monitoramento de exceções: Capture e analise exceções de aplicativos
- Métricas ao vivo: Visualize a telemetria em tempo real à medida que as solicitações fluem pelo seu aplicativo
- Análise de uso: Compreender o comportamento do usuário e a adoção de recursos
Linguagem de consulta Kusto (KQL)
- Consultas poderosas: Analise grandes volumes de dados de telemetria de forma eficiente
- Exploração de dados: Descubra padrões e anomalias nos seus dados
- Métricas personalizadas: Criar campos calculados e agregações
- Visualização: Gerar gráficos e tabelas a partir dos resultados da consulta
Loop interno e loop externo
- Ciclo interno: Feedback rápido durante o desenvolvimento local
- Laço exterior: Monitoramento abrangente em ambientes de produção
- Integração de feedback: Encaminhe insights de volta para as equipes de desenvolvimento
Ao implementar o Application Insights e o Azure Monitor, você pode:
- Coletar telemetria: Capture automaticamente solicitações, dependências e exceções
- Analise com KQL: Consultar logs para identificar consultas ao banco de dados lentas
- Visualize o desempenho: Criar painéis mostrando tempos de resposta por ponto de extremidade
- Definir alertas: Configurar notificações quando as taxas de erro excederem os limites
- Otimizar código: Use insights para otimizar trechos de código que apresentam desempenho lento.
Este módulo ensina como implementar esses recursos de monitoramento de forma eficaz.
Objetivos de aprendizagem
Após a conclusão deste módulo, os estudantes e profissionais podem:
- Implementar ferramentas para rastrear feedback e dados de telemetria de aplicativos
- Planejar estratégias de monitoramento contínuo em ambientes de desenvolvimento e produção
- Implemente o Application Insights para um monitoramento abrangente do desempenho do aplicativo
- Usar a linguagem de consulta Kusto (KQL) para consultar e analisar dados de telemetria
- Projetar e implementar métricas e consultas para insights acionáveis
- Monitorar o desempenho do aplicativo usando o Azure Monitor e o Log Analytics
- Compreender os ciclos de trabalho de desenvolvimento interno e externo
Pré-requisitos
- Compreensão dos conceitos de DevOps: Familiaridade com pipelines de CI/CD e práticas ágeis
- Fundamentos do Azure: Conhecimento básico do portal e serviços do Azure
- Experiência em desenvolvimento de aplicações: Compreensão de aplicações Web e APIs
- Conceitos de registo: Familiaridade com registro e rastreamento de aplicativos
- Competências básicas de consulta: Experiência com SQL ou linguagens de consulta semelhantes é útil, mas não necessária