Visão geral

O monitoramento da entrega de aplicações ajuda a detectar eventos incomuns e a responder a eles de forma adequada. O Amazon CloudWatch monitora os recursos da Amazon Web Services (AWS), incluindo os serviços de borda da AWS usados para entrega de aplicações. Por exemplo, as métricas no lado do servidor emitidas pelos serviços de borda da AWS ajudam a detectar aumentos inesperados nos volumes de tráfego, quedas significativas na taxa de acerto do cache, aumentos acentuados nos erros 5xx ou ataques de DDoS. Além das métricas no lado do servidor, o CloudWatch coleta e rastreia métricas do monitoramento no lado do cliente usando o CloudWatch RUM. Painéis personalizados podem ser criados usando métricas do CloudWatch, nas quais também é possível configurar alarmes.

Métricas no lado do servidor

Métricas nativas do CloudWatch emitidas pelos serviços de borda da AWS

Considere as seguintes métricas quase em tempo real do CloudWatch emitidas pelos serviços de borda da AWS ao entregar e proteger sua aplicação:

  • O CloudFront emite as seguintes métricas: Solicitações, Bytes baixados, Bytes enviados, Taxa de erros 4xx, Taxa de erros 5xx e Taxa de erros totais. Observe que essas métricas estão disponíveis na região us-east-1, pois o CloudFront é um serviço global. Por um custo extra, você pode habilitar métricas adicionais, como taxa de acertos de cache, latência de origem e taxa de erros para códigos de status específicos.
  • O CloudFront Functions emite as seguintes métricas na região us-east-1: invocações, erros de validação, erros de execução, utilização computacional e limitações.
  • O Lambda@Edge é baseado no AWS Lambda e, como tal, emite um subconjunto de suas métricas, como invocações, erros, duração, execuções simultâneas e limitações. Em contraste com o CloudFront Functions, o Lambda@Edge mede métricas em cada região em que é executado pelo CloudFront. O console do CloudFront oferece uma visão consolidada dessas métricas em todas as regiões.
  • O AWS WAF emite as seguintes métricas: solicitações permitidas, solicitações bloqueadas, solicitações contadas, solicitações verificadas com Captcha, solicitações verificadas por um desafio etc. Cada métrica pode ser medida com um nível de granularidade, como por WebACL, regra, país, dispositivo etc... Observe que as métricas do AWS WAF estão disponíveis na região us-east-1 quando a WebACL é aplicada ao CloudFront.
  • O Shield Advanced emite métricas para ataques de DDoS detectados, como bits de ataque por segundo, pacotes por segundo e solicitações por segundo.
    Você pode criar um painel do CloudWatch com base nas métricas acima emitidas pelos serviços de borda da AWS, mesmo que as métricas estejam em várias regiões e contas. O exemplo abaixo é um painel de segurança baseado em métricas emitidas pelas regras do AWS WAF.

Você pode criar um painel do CloudWatch com base nas métricas acima emitidas pelos serviços de borda da AWS, mesmo que as métricas estejam em várias regiões e contas. O exemplo abaixo é um painel de segurança baseado em métricas emitidas pelas regras do AWS WAF.

Métricas avançadas

Métricas avançadas para sua aplicação podem ser criadas de várias maneiras. A primeira é baseada na combinação de métricas nativas do CloudWatch em métricas mais sofisticadas, as outras são baseadas em logs de serviços.

Para a primeira abordagem, use a matemática de métricas do CloudWatch. Por exemplo, você pode calcular o total de solicitações por segundo entregues pelo CloudFront dividindo a métrica Solicitações do CloudFront pelo período de medição (m1/PERIOD(m1)). Outro exemplo é a criação de uma métrica composta que reflete a integridade da sua aplicação por meio de uma combinação lógica de outras métricas (por exemplo, íntegro se 5xx do CloudFront < 0,5% E latência do servidor < 1 s). Essa métrica composta pode então ser usada com verificações de integridade do Shield Advanced

Na segunda abordagem, use logs gerados pelos serviços de borda da AWS para emitir métricas personalizadas. Algumas implementações incluem:

  • Configuração de filtros de métricas em logs enviados ao CloudWatch Logs. Por exemplo, você pode configurar sua função do CloudFront para registrar as ocorrências de solicitações com uma determinada string de consulta e usar um filtro de métricas para contar essas ocorrências.
  • Processamento de logs do CloudFront e do WAF enviados ao Kinesis usando o Lambda para emitir métricas personalizadas. Considere este exemplo de implementação.

Geração de alertas

Você pode criar alarmes para receber notificações quando as métricas do CloudWatch indicarem um evento incomum. Siga as etapas deste blog para configurar um alarme com base em um limite para a taxa de erros 5xx no CloudFront. Além de alertar com base em limites, a detecção de anomalias do CloudWatch permite definir uma base para as suas métricas e criar alarmes com base em alterações anormais em comparação com essa base.

Descobertas de segurança no Security Hub

O AWS Firewall Manager cria descobertas no AWS Security Hub para recursos que estão fora de conformidade e ataques detectados pelo Shield Advanced.

CloudWatch Internet Monitor

O Monitor de Internet do CloudWatch fornece visibilidade da performance das suas aplicações voltadas para a Internet, usando os dados de conectividade que a AWS captura da sua presença global de rede. O Monitor de Internet fornece observabilidade contínua de medições da Internet, como disponibilidade e performance, adaptadas à área ocupada pelas suas workloads na AWS. Você pode usar o Monitor de Internet para obter informações sobre as métricas médias de performance da Internet ao longo do tempo e sobre problemas (eventos) por local e provedor de serviços de Internet (ISP). Usando o Monitor de Internet, é possível identificar facilmente quais eventos estão afetando a experiência do usuário final em aplicações que usam serviços como o CloudFront. Consulte esta publicação do blog sobre como monitorar o tráfego da Internet para o CloudFront Edge em um clique com o Monitor de Internet do Amazon CloudWatch.

Visibilidade de como os problemas da Internet afetam a performance da aplicação

Monitoramento no lado do cliente

Além das métricas no lado do servidor, é recomendável coletar métricas no lado do cliente usando o CloudWatch RUM. O RUM fornece os dados mais precisos sobre como sua aplicação Web está se comportando do ponto de vista dos usuários. Para usar o CloudWatch RUM, você precisa adicionar uma etiqueta javascript às suas páginas da Web. O javascript coleta dados das APIs do navegador, como tempos de carregamento da página, Core Web Vitals ou erros de aplicações, e os envia ao CloudWatch RUM para geração de painéis. Além disso, o CloudWatch RUM emite métricas do CloudWatch, como WebVitalsCumulativeLayoutShift, WebVitalsFirstInputDelay, WebVitalsLargestContentfulPaint, JsErrorCount, HttpStatusCodeCount, etc.

Recursos

Esta página foi útil para você?