云监视警报中的'Period'如何真正工作?



我正在构建一个云手表警报,当lambda函数在5分钟内未被调用时发送电子邮件

CloudWatchAlarm:
Type: AWS::CloudWatch::Alarm
Properties:
AlarmActions:
- !Ref SNSTopic
AlarmDescription: Send email if lambda function was not called within 5 minutes
Dimensions:
-
Name: "FunctionName"
Value: "my-lambda"
ComparisonOperator:  LessThanThreshold
EvaluationPeriods: 1
MetricName: Invocations
Namespace: AWS/Lambda
Period: 300
Statistic: Sum
Threshold: 1
TreatMissingData: breaching
DatapointsToAlarm: 1

因此,当函数被调用时,调用度量变为1,警报进入OK状态。但是,当超过5分钟没有调用该函数时,闹钟没有回到alarm状态。实际上需要15分钟才能进入报警状态。

如果我放一个小句号,它确实花了更少的时间回到ALARM状态。我不明白月经是怎么起作用的。

有没有人知道这种配置是否真的可能在云观察警报?我应该如何确定周期和评估周期,以便在5分钟内收到电子邮件?

这可能是因为报警状态不是使用Period进行评估的,而是使用所谓的评估范围,其周期可能更长。更重要的是,你不能控制评估范围。

类似的连续波延迟问题在,例如:

  • 告警数据泄露与告警状态变化之间无法解释的延迟

从链接:

在这种情况下,当alarm没有转换到OK状态时,它使用的是之前在评估范围中的数据点。按预期计算其状态

所以在你的情况下,评估范围似乎回到了15分钟。

最新更新