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

AWSserviços: Amazon CloudWatch

Resumo

Na nuvem 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 seus tempos API de resposta do Amazon API Gateway e receber notificações sobre anomalias que impedem você de cumprir um contrato de nível 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 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 da AWS ativa.

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

  • Um aplicativo existente, configurado com o CloudWatch Logs.

Limitações

Arquitetura

O diagrama mostra o seguinte fluxo de trabalho:

CloudWatch usando um SNS tópico da Amazon 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 SNS tópico.

  3. A Amazon SNS envia uma notificação por e-mail para você.

Pilha de tecnologia

  • CloudWatch

  • AWSLambda

  • Amazon SNS

Ferramentas

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

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

  • O Amazon Simple Notification Service (AmazonSNS) é um serviço gerenciado que fornece entrega de mensagens de editores 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 AWS Documentação GitHub. Isso fornece um exemplo de função Lambda que envia métricas personalizadas para CloudWatch o Logs. A função Lambda usa o Boto3 para integração com o. API CloudWatch 

Depois de executar a função Lambda, você pode entrar no AWS Management Console, abrir o console e a CloudWatch 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.

Entre no AWS Management Console, abra o CloudWatch console e escolha Registrar grupos. 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 SNS as notificações.

Em Notificação, escolha o SNS tópico para notificar quando o alarme estiver em ALARM OK estado, estado ou INSUFFICIENT_DATA estado.

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 ASCII caracteres. 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