É possível definir o alarme do CloudWatch para uma combinação de métricas?

19

Por exemplo, quero acionar um alarme do CloudWatch para o seguinte:

Number of messages sent- Number of messages deleted> = 6

O acima é para métricas do AWS SQS. E quero que essa métrica acione o AWS Lambda se esse alarme for acionado.

Existe alguma maneira de fazer isso? Caso contrário, existe alguma solução alternativa [Visando um paradigma sem servidor]

[Eu quero fazer isso, porque não há métrica que me diga o número de mensagens atualmente (disponíveis) na fila]. Então, se houver uma métrica que possa me dar isso, seria muito útil

Dawny33
fonte
Essa é uma boa pergunta, mas na maioria das vezes, métricas puras não são suficientes para definir alarmes e quantidades intermediárias precisam ser construídas e exportadas para o CloudWatch. por exemplo, máximo de um conjunto de métricas, taxa de variação de uma métrica, delta para um valor da meta.
Michael Le Barbier Grünewald

Respostas:

8

Para o último objetivo geral, eu ApproximateNumberOfMessagesVisibleativaria o alarme na documentação do Cloudwatch no SQS, que é:

O número de mensagens disponíveis para recuperação da fila.

Unidades: Contagem

Estatísticas válidas: média, mínimo, máximo, soma, amostras de dados (exibidas como Contagem de amostras no console do Amazon SQS)


Para a pergunta métrica computada mais genérica, eu usaria um lambda executando periodicamente, reunindo métricas do cloudwatch, fazendo as contas e voltando ao cloudwatch.

Aqui está um exemplo de lambda que reúne dados do Cloudwatch para enviar para a elasticsearch. Com os exemplos na documentação, você poderá enviar as métricas de volta do lambda.

Lembre-se de que chamar a API do cloudwatch para coletar e enviar métricas tem um custo quando você recebe mais de 1 milhão de solicitações por mês; há outros limites a serem observados para evitar a quebra de seu orçamento / fluxo de trabalho.

Tensibai
fonte
Obrigado (+1). Eu descobri isso alguns minutos depois: D. No entanto, eu não tinha certeza sobre o termo Approximatenele. Por que aproximar quando pode dizer o número exato de mensagens disponíveis?
Dawny33
Como as métricas são extraídas periodicamente, elas não podem garantir que entre o tempo de coleta e o tempo de apresentação não houve alteração na fila.
Tensibai