AWS Cloudwatch警报可以检测到没有活动吗?

Dar*_*ren 4 lambda amazon-web-services cloudwatch amazon-cloudwatch aws-lambda

我想将云监视警报设置为在没有任何活动时触发,例如,当Lambda函数至少在5分钟内未执行时触发云监视警报。我设置了一个简单的测试lambda函数(testLambdaFunc),然后使用python脚本设置了警报,如下所示:

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'
)
Run Code Online (Sandbox Code Playgroud)

创建警报后,它将立即进入INSUFFICIENT DATA状态。然后,我一次触发lambda函数以获取数据点。警报进入OK状态,然后大约10分钟后返回到INSUFFICIENT DATA状态。这是正常的还是应该引起警报?如何设置在该功能没有任何活动时触发的警报?

Mat*_*ser 5

当CloudWatch指标在5或10分钟内没有数据时,所有警报将进入“ INSUFFICIENT_DATA”状态。这是因为警报没有足够的数据来知道它应该处于“ ALARM”状态还是“ OK”状态。

创建CloudWatch警报时,可以指定SNS主题以在警报进入“ INSUFFICIENT_DATA”状态时通知。这是InsufficientDataActions您的put_metric_alarm方法调用成员的一部分。

如果您希望指标在过去5分钟内始终有数据,则可以在InsufficientDataActions数据不足时使用触发警报。本质上告诉您您没有获取数据。我想这就是你想要的。