Crie alarmes para métricas personalizadas usando a detecção de CloudWatch anomalias da Amazon - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Crie alarmes para métricas personalizadas usando a detecção de CloudWatch anomalias da Amazon

Criado por Ram Kandaswamy (AWS) e Raheem Jiwani (AWS)

Ambiente: produção

Tecnologias: Gestão e governança DevOps; Operações; CloudNative

Serviços da AWS: Amazon CloudWatch

Resumo

Na nuvem da Amazon Web Services (AWS), você pode usar CloudWatch a Amazon para criar alarmes que monitoram métricas e enviam notificações ou fazem alterações automaticamente se um limite for violado.

Para evitar ser limitado por limites estáticos, você pode criar alarmes com base em padrões anteriores e notificá-lo se métricas específicas estiverem fora da janela operacional normal. Por exemplo, você pode monitorar os tempos de resposta da sua API a partir do Amazon API Gateway e receber notificações sobre anomalias que impedem que você cumpra um Acordo de Serviço (SLA).

Esse padrão descreve como usar a detecção de CloudWatch anomalias para métricas personalizadas. O padrão mostra como criar uma métrica personalizada no Amazon CloudWatch Logs Insights ou publicar uma métrica personalizada com uma função do AWS Lambda e, em seguida, configurar a detecção de anomalias e criar notificações usando o Amazon Simple Notification Service (Amazon SNS).

Pré-requisitos e limitações

Pré-requisitos

  • Uma conta AWS ativa

  • Um tópico do SNS existente, configurado para enviar notificações por e-mail. Para obter mais informações sobre isso, consulte Conceitos básicos do Amazon SNS na documentação do Amazon SNS.

  • Um aplicativo existente, configurado com o CloudWatch Logs.

Limitações

  • CloudWatch as métricas não oferecem suporte a intervalos de tempo de milissegundos. Para obter mais informações sobre a granularidade das métricas regulares e personalizadas, consulte as perguntas frequentes da Amazon CloudWatch .

Arquitetura

O diagrama mostra o seguinte fluxo de trabalho:

CloudWatch usando um tópico do Amazon SNS para enviar uma notificação por e-mail quando um alarme é iniciado.
  1. Os registros que usam métricas criadas e atualizadas pelo CloudWatch Logs são transmitidos para CloudWatch.

  2. Um alarme é iniciado com base nos limites e envia um alerta para um tópico do SNS.

  3. O Amazon SNS lhe enviará uma notificação por e-mail.

Pilha de tecnologia

  • CloudWatch

  • AWS Lambda

  • Amazon SNS

Ferramentas

  • CloudWatchA Amazon fornece uma solução de monitoramento confiável, escalável e flexível.

  • O AWS Lambda é um serviço de computação que ajuda você a executar código sem provisionar ou gerenciar servidores.

  • O Amazon Simple Notification Service (Amazon SNS) é um serviço gerenciado que fornece entrega de mensagens de publicadores para assinantes.

Épicos

TarefaDescriçãoHabilidades necessárias

Opção 1 - Crie uma métrica personalizada com uma função do Lambda.

Faça o download do lambda_function.py arquivo (anexado) e, em seguida, substitua o lambda_function.py arquivo de amostra no aws-lambda-developer-guiderepositório na documentação GitHub da AWS. Isso fornece um exemplo de função Lambda que envia métricas personalizadas para CloudWatch o Logs. A função Lambda usa a API Boto3 para integração com o. CloudWatch 

Depois de executar a função Lambda, você pode entrar no AWS Management Console, abrir o CloudWatch console e a métrica publicada estará disponível em seu namespace publicado.

DevOps engenheiro, AWS DevOps

Opção 2 — Crie métricas personalizadas a partir de grupos de CloudWatch registros.

Faça login no AWS Management Console, abra o CloudWatch console e escolha Log groups. Escolha o grupo de logs para o qual você deseja criar uma métrica. 

Escolha Actions (Ações) e escolha Create metric filter (Criar filtro de métrica). Em Filter pattern (Padrão de filtro), insira o padrão de filtro que deseja usar. Para obter mais informações, consulte Sintaxe de filtros e padrões na CloudWatch documentação. 

Para testar seu padrão de filtro, insira um ou mais eventos de logs em Test Pattern (Testar padrão). Cada evento de log deve estar dentro de uma linha, porque as quebras de linha são usadas para separar eventos de log na caixa Log event messages (Mensagens do evento de log). Depois de testar o padrão, você pode inserir um nome e um valor para sua métrica em Detalhes da métrica

Para obter mais informações e etapas para criar uma métrica personalizada, consulte Criar um filtro de métrica para um grupo de registros na CloudWatch documentação.

DevOps engenheiro, AWS DevOps

Crie um alarme para sua métrica personalizada.

No CloudWatch console, escolha Alarmes e, em seguida, escolha Criar alarme. Escolha Selecionar métrica e insira o nome da métrica que você criou anteriormente na caixa de pesquisa. Escolha a guia Métricas em gráficos e configure as opções de acordo com seus requisitos.

Em Condições, escolha Detecção de anomalias em vez de Limites estáticos. Isso mostra uma banda com base em dois desvios padrão. É possível definir limites e ajustá-los de acordo com seus requisitos.

Escolha Próximo.

Nota: a banda é dinâmica e depende da qualidade dos pontos de dados. Quando você começa a agregar mais dados, a faixa e os limites são atualizados automaticamente. 

DevOps engenheiro, AWS DevOps

Configure notificações do SNS.

Em Notification (Notificação), escolha um tópico do SNS para notificar quando o alarme estiver no estado ALARM, OK ou INSUFFICIENT_DATA.

Para que o alarme envie várias notificações para o mesmo estado de alarme ou para diferentes estados de alarme, escolha Add notification (Adicionar notificação). Escolha Próximo. Digite um nome e uma descrição para o alarme. O nome deve conter somente caracteres ASCII. Em seguida, escolha Próximo.

Em Preview and create (Previsualizar e criar), confirme se as informações e condições estão corretas e escolha Create alarm (Criar alarme).

DevOps engenheiro, AWS DevOps

Recursos relacionados

Anexos

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: attachment.zip