我想设置云监视警报以在没有事件时触发,例如,当 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 状态。是正常的还是应该报警?我如何设置一个警报,当有时触发 没有事件在功能上?
最佳答案
当 CloudWatch 指标在 5 或 10 分钟内没有数据时,任何警报都将进入“INSUFFICIENT_DATA”状态。这是因为警报没有足够的数据来知道它应该处于“ALARM”状态还是“OK”状态。
创建 CloudWatch 警报时,您可以指定 SNS 主题以在警报进入“INSUFFICIENT_DATA”状态时进行通知。这是作为 InsufficientDataActions
的一部分完成的您的成员(member)put_metric_alarm
方法调用。
如果您希望您的指标始终包含过去 5 分钟内的数据,那么您可以使用 InsufficientDataActions
当数据不足时触发警报。本质上是告诉你你没有得到数据。我想这就是你想要的。
关于amazon-web-services - AWS Cloudwatch 警报可以检测到没有事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40854773/