3

Я хочу настроить будильник для облачных часов, чтобы не срабатывать, например, для того, чтобы активировать будильник в облачном режиме, когда функция Лямбды НЕ выполняется в течение как минимум 5 минут. Я создал простой тест лямбда-функции (testLambdaFunc), а затем установить сигнализацию с помощью питона скрипт следующим образом:Может ли аварийные сигналы AWS Cloudwatch не обнаруживать активность?

import boto3 
lambdaFunction = 'testLambdaFunc' 
alarmName = 'testLambdaAlarm' 
client = boto3.client("cloudwatch") 
# create alarm to fire after five minutes of inactivity 
response = client.put_metric_alarm(
AlarmName=alarmName, 
AlarmActions=[], 
MetricName='Invocations', 
Namespace='AWS/Lambda', 
Dimensions=[ 
{ 
'Name': 'FunctionName', 
'Value': lambdaFunction 
}, 
], 
Statistic='Average', 
Period=300, 
EvaluationPeriods=1, 
Threshold=0, 
ComparisonOperator='LessThanOrEqualToThreshold' 
) 

Сразу после создания тревоги он переходит в состояние Недостаточные DATA. Затем я запускаю функцию лямбда один раз, чтобы получить точку данных. Тревога переходит в состояние «ОК», а затем примерно через 10 минут возвращается в состояние «НЕДОСТАТОЧНЫЕ ДАННЫЕ». Это нормально или он должен идти в тревогу? Как настроить будильник, который срабатывает, когда есть Нет активности о функции?

ответ

4

Если метрика CloudWatch не имеет данных в течение 5 или 10 минут, любые тревоги перейдут в состояние «INSUFFICIENT_DATA». Это связано с тем, что в сигнале тревоги недостаточно данных, чтобы знать, должно ли оно находиться в состоянии «ALARM» или «ОК».

Когда вы создаете аварийный сигнал CloudWatch, вы можете указать тему SNS для уведомления, когда сигнал тревоги переходит в состояние «INSUFFICIENT_DATA». Это делается как часть члена InsufficientDataActions вашего вызова метода put_metric_alarm.

Если вы ожидаете, что ваш показатель всегда будет иметь данные за последние 5 минут, вы можете использовать InsufficientDataActions для запуска предупреждения, когда данных недостаточно. По сути говоря, вы не получаете данные. Я думаю, это то, что вы хотите.

+0

Хорошо спасибо. Поэтому вместо проверки на Invocations = 0 я должен настроить будильник на InsenseDataActions, верно? – Darren

+0

Справа. Данные = 0 - это не то же самое, что и данные. –

Смежные вопросы