7

我想将云监视警报设置为在没有活动时触发,例如,当 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'
)

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

4

2 回答 2

6

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

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

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

于 2016-11-28T23:00:57.943 回答
1

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html

您可以在此处使用 TreatMissingData 属性。

于 2020-04-24T19:47:03.510 回答