O blog da AWS

Responda aos alarmes do CloudWatch com o Amazon Bedrock Insights

Por Alex Livingstone, arquiteto principal de soluções da AWS.

Ao operar sistemas distribuídos complexos na nuvem, identificar rapidamente a causa raiz dos problemas e resolver incidentes pode ser uma tarefa difícil. A solução de problemas geralmente envolve a análise de métricas, registros e rastreamentos de vários serviços da AWS, tornando difícil obter uma compreensão abrangente do problema. Então, como você pode simplificar esse processo e reduzir o tempo e o esforço necessários para uma resolução eficaz de incidentes ?

Este blog apresenta a solução Alarm Context Tool (ACT), que aprimora os alarmes do Amazon CloudWatch fornecendo contexto adicional para auxiliar na solução de problemas e análise. Utilizando serviços da AWS como AWS Lambda, Amazon CloudWatch, AWS X-Ray, AWS Health e Amazon Bedrock. Essa solução agrega e analisa métricas, registros e traces para gerar insights significativos. O ACT simplifica o processo de solução de problemas, reduz os custos operacionais e aprimora a observabilidade do seu ambiente da AWS.

Principais benefícios

Solução de problemas simplificada

O ACT coleta e analisa automaticamente dados relevantes de várias fontes, incluindo CloudWatch, X-Ray, Amazon RDS Performance Insights e Cloudwatch Container Insights. Essa agregação ajuda a identificar as causas principais e a reduzir o tempo necessário para a solução de problemas. Ao consolidar dados de diferentes serviços da AWS, o ACT fornece uma visão abrangente da integridade e do desempenho do sistema, permitindo uma resolução mais rápida de incidentes.

Eficiência de custos

Ao fornecer contexto e insights detalhados diretamente nas notificações de alarme, o ACT ajuda a reduzir a sobrecarga operacional e os custos associados à coleta e análise manual de dados. Os operadores entendem rapidamente o problema sem se aprofundar em vários serviços da AWS. Isso reduz o tempo e o esforço necessários para diagnosticar problemas, resultando em menores custos operacionais, melhor utilização de recursos e redução do tempo médio de recuperação (MTTR).

Observabilidade aprimorada

O ACT aproveita os recursos de IA generativa do Amazon Bedrock para resumir descobertas, identificar possíveis causas-raiz e oferecer links de documentação relevantes. Isso aprimora a observabilidade do seu ambiente da AWS, simplificando as tarefas operacionais e de manutenção. A integração de insights baseados em IA garante que os operadores recebam informações acionáveis, permitindo que eles se concentrem na resolução de problemas em vez de examinar registros e métricas.

Arquitetura técnica

A solução foi criada usando uma combinação de funções do AWS Lambda, alarmes do CloudWatch, rastreamento de raios X e recursos de IA do Amazon Bedrock. Aqui está uma visão geral da arquitetura:

Figura 1: Diagrama de arquitetura

Figura 1: Diagrama de arquitetura

  1. Os alarmes do CloudWatch enviam uma notificação para um tópico do Amazon SNS.
  2. A função Lambda se inscreve nos tópicos do SNS.
  3. O Lambda Function agrega dados de fontes, incluindo métricas e registros do CloudWatch, rastreamentos de raios-X, RDS Performance Insights, Container Insights e AWS Health.
  4. O Amazon Bedrock processa os dados agregados para gerar resumos, insights e a causa raiz.
  5. O Amazon SES envia as informações processadas às partes interessadas relevantes por e-mail.
  6. O X-Ray Tracing usando o rastreador da Powertools for AWS Lambda (Python) fornece rastreamentos detalhados da execução da função Lambda, oferecendo visibilidade profunda do desempenho e do comportamento da função.

Cenário de exemplo: ACT em ação

Visão geral do cenário

Um alarme é acionado devido a uma falha em um canário CloudWatch Synthetics. Essa falha é uma indicação de erros intermitentes ou alta latência para uma API de microsserviço. A função ACT Lambda é invocada para reunir contexto adicional e fornecer uma análise detalhada do problema. Veja como o ACT simplifica a solução de problemas nesse cenário:

Figura 2: Mapa de traces da ferramenta de contexto de alarme

Coleta e análise de dados

Quando o alarme é acionado, a função ACT Lambda executa as seguintes etapas de coleta de dados:

  1. Métricas do CloudWatch: a função reúne métricas relevantes, como taxas de erro, latência e contagens de solicitações do CloudWatch.
  2. CloudWatch Logs: a função coleta registros relevantes do CloudWatch Logs, neste caso, associados à execução do canário.
  3. Traces do X-Ray: Traces detalhados são obtidos para identificar o ponto exato de falha no fluxo de execução da API. Por exemplo, os dados de rastreamento mostram que a função Lambda
    Films-Prod-ApiLambdaFunction-Lulvbczjxhfb encontrou problemas ao consultar a tabela Movies DynamoDB.
  4. Eventos de saúde: a função consulta o AWS Health em busca de quaisquer eventos relevantes que possam potencialmente impactar os serviços identificados.
  5. Histórico do alarme: a função examina o histórico do alarme e, nesse caso, determina que esse é um problema recorrente.
  6. Informações sobre o recurso: A função recupera detalhes do recurso identificado: o canário CloudWatch Synthetics.
  7. Análise do Amazon Bedrock: O Amazon Bedrock analisa os dados agregados para gerar um resumo das descobertas.

Insights generativos de IA

O Amazon Bedrock analisa os dados coletados e gera um resumo das descobertas. Neste exemplo, uma tabela do DynamoDB está apresentando alto tráfego de leitura e excedendo sua taxa de transferência provisionada, que a Bedrock identifica como a causa raiz.

Notificação e relatórios

A função envia um e-mail para as partes interessadas relevantes, resumindo as descobertas e sugerindo possíveis soluções. O e-mail inclui:

  • Análise da causa raiz: com base nos dados coletados, o Bedrock identifica o problema principal, como uma tabela do DynamoDB excedendo sua taxa de transferência provisionada.
  • Frequência e imediatismo do alarme: a função analisa os dados históricos do alarme para determinar a frequência de seu acionamento, ajudando a identificar se o problema subjacente é recorrente, intermitente ou uma ocorrência única.
  • Soluções potenciais: recomendações, como aumentar a taxa de transferência provisionada para o DynamoDB, otimizar o design da chave de partição ou implementar o backoff exponencial no código do aplicativo.
  • Análise de métricas adicionais: insights de métricas relacionadas, como falhas na execução do canary ou erros do lado do servidor.
  • Eventos de saúde da AWS: próximos eventos de manutenção ou mudanças que podem afetar o sistema.

Resumo do exemplo

Análise da causa raiz

O problema parece estar relacionado ao fato de a tabela do DynamoDB Movies exceder sua capacidade de transferência provisionada. A funçãoLambda Films-Prod-ApiLambdaFunction-lulvbczjxhfb encontrou o problemaProvisionedThroughputExceededException ao consultar a tabela Movies DynamoDB.

Frequência e imediatismo do Alarme

O alarme foi acionado várias vezes nas últimas horas, indicando um problema recorrente. As transições frequentes entre os estados OK e ALARM sugerem que o problema está relacionado a picos de tráfego.

Análise de métricas adicionais

  • A métrica Failed mostra um valor de 1, indicando uma falha recente na execução do canary.
  • A métrica 5xx tem um valor de 1, sugerindo um erro do lado do servidor (502 Bad Gateway).
  • A métricasuccessPercentmostra 0% para a falha na execução do canário.

Soluções potenciais

Para resolver o problema, considere as seguintes etapas:

  • Aumente a capacidade de taxa de transferência provisionada da tabela Movies DynamoDB.
  • Implemente as melhores práticas de design de chave de partição.
  • Implemente o recuo exponencial com instabilidade no código do seu aplicativo.

Documentação relevante

Conclusão

Neste post, apresentamos a Alarm Context Tool (ACT), uma solução que aprimora os alarmes do Amazon CloudWatch fornecendo contexto e insights adicionais para ajudar na solução de problemas e na análise. O ACT aproveita vários serviços da AWS e os recursos de IA generativa do Amazon Bedrock. Ao fazer isso, ele simplifica o processo de resolução de incidentes, reduz os custos operacionais e aprimora a observabilidade do seu ambiente da AWS.

Para saber mais sobre o ACT e começar a usá-lo, visite o repositório do GitHub e siga as instruções de configuração.

Se você tiver alguma dúvida, sugestão de melhorias ou encontrar algum problema ao usar o ACT, sinta-se à vontade para abrir um problema no repositório do GitHub. Valorizamos seu feedback e contribuição para tornar o ACT ainda melhor.

Sobre o autor

Alex Livingstone é arquiteto principal de soluções focado nas ferramentas de observabilidade da AWS, incluindo Amazon CloudWatch, AWS X-Ray, Amazon Managed Service for Prometheus, Amazon Managed Grafana e AWS Distro for OpenTelemetry. Ele adora ajudar os clientes a operar na nuvem e obter informações sobre seus aplicativos. Encontre-o no LinkedIn: /aelivingstone.

Tradutor

Felipe Brito é arquiteto de soluções na AWS e guia clientes nas melhores práticas de arquitetura na nuvem. Possui experiência com projetos de desenvolvimento de software e análise de dados.