Serverless Framework: Configurando alarmes do CloudWatch - DEV Community
#ptbr #serverless #aws #monitoring
Monitorar e alertar são aspectos essenciais para qualquer sistema de software em produção. Uma solução de monitoramento eficaz agrega dados em uma variedade de métricas e os apresenta de maneira legível e amigável. Um painel de monitoramento útil pode permitir que você responda rapidamente a perguntas sobre estatísticas de alto nível, como "quantos usuários se inscreveram em nosso aplicativo hoje" ou "quantas invocações do Lambda resultaram em erros na última hora". Do outro lado da moeda, um bom sistema de alerta permitirá que você responda a mudanças nessas métricas, talvez notificando um engenheiro de plantão de que algo deu errado.
CloudFormation tem um bom suporte para CloudWatch, portanto, é possível escrever sua infraestrutura de sistema de alerta como código na seção "recursos personalizados" de um projeto Serverless Framework. O exemplo a seguir configura um alarme CloudWatch que disparará quando qualquer número de erros 5xx for detectado por um estágio específico do API Gateway.
Um tópico SNS precisa de uma "assinatura" (subscription) para ser útil. Os tópicos SNS são capazes de enviar e-mails automaticamente para um determinado endereço para cada mensagem publicada neles. Podemos adicionar uma "assinatura" no CloudFormation também. Neste exemplo, a propriedade TopicArn faz referência ao recurso TopicCloudwatchAlarm definido acima por meio da função Ref:
O alarme que vimos neste artigo mal arranha a superfície do que é possível com o CloudWatch. Você pode criar alarmes que levam muitas métricas em consideração ao mesmo tempo. Você pode criar alarmes para avisá-lo quando um recurso da AWS está custando mais dinheiro do que você gostaria. Você pode até configurar alarmes com base na "detecção de anomalias", onde o CloudWatch analisará dados de métricas anteriores para criar um modelo de valores esperados e alertar sobre desvios dessa linha de base. Como acontece com a maioria dos serviços da AWS, a documentação do CloudWatch é útil e definitivamente recomendada para leitura se você quiser saber mais sobre esses alarmes mais avançados.