我希望设置云监视警报,以便在没有活动时触发,例如,当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'
)
创建警报后立即进入INSUFFICIENT DATA状态。然后我触发lambda函数一次得到一个数据点。警报进入OK状态,然后大约10分钟后返回INSUFFICIENT DATA状态。它是正常还是应该报警?如何在功能无活动时设置触发警报?
答案 0 :(得分:5)
当CloudWatch指标没有5或10分钟的数据时,任何警报都将进入" INSUFFICIENT_DATA"州。这是因为警报没有足够的数据来知道它是否应该在" ALARM"州或"好的"状态。
创建CloudWatch警报时,您可以指定一个SNS主题,以便在警报进入" INSUFFICIENT_DATA"州。这是作为argsort_with_support_for_ties
方法调用的InsufficientDataActions
成员的一部分完成的。
如果您希望指标在过去5分钟内始终拥有数据,那么您可以使用put_metric_alarm
在数据不足时触发提醒。基本上告诉你,你没有获得数据。我想这就是你想要的。
答案 1 :(得分:1)
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html
您可以在此处使用TreatMissingData属性。