O que é o monitoramento?

Depois que uma aplicação é implantada na produção, o monitoramento fornece informações sobre os padrões de desempenho e uso da aplicação para que você possa identificar, mitigar ou resolver problemas.

Image of graph that shows how monitoring can indicate application performance and usage.

Objetivos do monitoramento

Um objetivo do monitoramento é alcançar alta disponibilidade, minimizando as principais métricas que são medidas em termos de tempo:

  • Tempo de detecção (TTD): quando surgem problemas de desempenho ou de outra natureza, dados de diagnóstico avançados sobre os problemas são fornecidos para as equipes de desenvolvimento por meio de monitoramento automatizado.
  • Tempo de mitigação (TTM): as equipes do DevOps atuam nas informações para mitigar problemas o mais rápido possível para que os usuários não sejam mais afetados.
  • Tempo de correção (TTR): os tempos de resolução são medidos e as equipes trabalham para melhorar com o tempo. Após a mitigação, as equipes trabalham para encontrar formas de corrigir problemas na causa raiz para que eles não se repitam.

Um segundo objetivo do monitoramento é permitir a aprendizagem validada ao rastrear o uso. O conceito principal da aprendizagem validada é que cada implantação é uma oportunidade de acompanhar resultados experimentais que fortalecem ou enfraquecem as hipóteses que levaram à implantação. O rastreamento do uso e de diferenças entre as versões permite que as equipes avaliem o impacto das mudanças e orientem as decisões de negócios. Se uma hipótese for enfraquecida, a equipe poderá falhar rapidamente ou adaptar-se. Se a hipótese for apoiada, a equipe poderá insistir ou perseverar. Essas decisões baseadas em dados levam a novas hipóteses e priorização do backlog.

Conceitos principais

Telemetria é o mecanismo de coleta de dados a partir do monitoramento. A telemetria pode usar agentes instalados em ambientes de implantação, um SDK que depende de marcadores inseridos no código-fonte, log do servidor ou uma combinação destes. Em geral, a telemetria distingue entre o pipeline de dados otimizado para alertas e painéis em tempo real e os dados de maior volume necessários para solução de problemas ou análise de uso.

O monitoramento sintético usa um conjunto consistente de transações para avaliar o desempenho e a disponibilidade. As transações sintéticas são testes previsíveis com a vantagem de permitir a comparação entre lançamentos de forma altamente previsível. O monitoramento do usuário real (RUM), por outro lado, mede a experiência do navegador, dispositivo móvel ou desktop do usuário. Ele responde por condições de última milha, como redes celulares, roteamento de internet e armazenamento em cache. Diferente do Synthetics, o RUM normalmente não fornece medição repetível com o tempo.

O monitoramento costuma ser usado para testar na produção. Uma implantação bem monitorada transmite dados sobre a integridade e o desempenho para que você possa detectar incidentes de produção imediatamente. Combinado com um pipeline de lançamento de implantação contínua, o monitoramento detectará novas anomalias e permitirá a mitigação imediata. Isso permite a descoberta de incógnitas desconhecidas no comportamento da aplicação que não podem ser previstas em ambientes de pré-produção.

O monitoramento eficaz é essencial para permitir que equipes do DevOps agilizem entregas, obtenham comentários da produção, e aumentem a satisfação, a aquisição e a retenção de clientes.

Próximas etapas

Leia mais sobre os recursos de monitoramento do Azure Monitor.

Saiba como configurar e usar o Application Insights para monitoramento.