首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AWS云监视告警状态变化的延迟

AWS云监视告警状态变化的延迟
EN

Stack Overflow用户
提问于 2020-09-24 10:13:16
回答 2查看 3.7K关注 0票数 6

我有一个警报器跟踪LoadBalancer 5xx错误在单个ALB中的度量。如果过去1中的1个数据点高于2的阈值,则应该处于“处于警报状态”。周期设置为1分钟。请参阅警报详情:

在2020年-09-23世界协调时17:18,负载均衡器开始返回502个错误。这显示在下面的云表度量图中,我已经确认时间是正确的(这是一个强制502响应,所以我知道何时触发它,我可以在ALB日志中看到17:18的时间戳)

但在报警日志中,“处于警报状态”仅在17:22世界协调时-- 17:18时段后4分钟才触发,有2次以上的错误。这并不是收到通知的延迟,而是与我的预期相比,状态变化的延迟。在状态更改后的几秒钟内正确地接收到通知。

下面是带有状态更改时间戳的警报日志:

我们认为丢失数据是好的,因此根据度量图,我假设它应该在17:22 (在17:21周期之后,有0错误)恢复到OK,但只在17:27-5分钟延迟时返回到OK。

然后我预计它会在17点24分回到“警报中”,但直到17点28分才恢复。

最后,我希望它能在17:31恢复到OK,但直到17:40 --整整9分钟之后。

为什么在我期望状态转换和实际发生之间会有4-9分钟的延迟?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-24 11:11:24

我认为这一解释是在以下AWS论坛上作出的:

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

从根本上说,警报是在较长时间的上评估的,然后是你设置的,而不仅仅是1分钟。句点是评价范围,您作为一个用户,对它没有直接的控制。

来自论坛的:

HTTPCode_Target_4XX_Count度量的报告条件是如果有一个非零值.这意味着只有在生成非零值时才会报告数据点,否则不会将任何数据点推送到度量中。CloudWatch标准警报每分钟评估一次它的状态,无论您为如何处理丢失的数据设置了什么值,当警报评估是否更改状态时,CloudWatch试图检索的数据点数比评估期间指定的多(在本例中为1)。它试图检索的数据点的确切数量取决于警报周期的长度,以及它是基于具有标准分辨率或高分辨率的度量。它试图检索的数据点的时间框架是(求值范围)。如果计算范围内的所有数据都丢失,而不仅仅是评估期间的数据丢失,就会将丢失的数据作为设置应用。因此,警报将查看以前的一些数据点来评估其状态,并将处理丢失的数据用作设置,如果评估范围中的所有数据都丢失了。在这种情况下,当没有转换到OK状态时,它使用计算范围中的前几个数据点来计算其状态,就像预期的那样。这里详细解释了在数据丢失的情况下的警报计算,这将有助于进一步理解这一点:https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-evaluating-missing-data

票数 6
EN

Stack Overflow用户

发布于 2022-12-02 07:57:34

对于Lambda调用,我也有类似的问题,试图在间隔内检测到零调用。无论时间为10 min或1天,报警时间均为period的三次。

AWS论坛中的这个帖子还提到了评估范围,并建议使用Fill()度量数学函数来解决这个限制。

这是一个对我有用的Cloudformation样本。警报是在大约10-11分钟的无调用(配置)后触发的,而不是以前的30分钟。对我来说已经够好了。注意:它可以解决评估范围问题,它无法避免摄入CloudWatch的延迟。

代码语言:javascript
运行
复制
ManualCfMathAlarm:
  Type: AWS::CloudWatch::Alarm
  DependsOn:
    - ManualCfAlarmNotificationTopic
  Properties:
    AlarmDescription: Notifies on ZERO invocations, based on MATH
    AlarmName: ${self:service}-${self:provider.stage}-ManualCfMathAlarm
    OKActions:
      - !Ref ManualCfAlarmNotificationTopic
    AlarmActions:
      - !Ref ManualCfAlarmNotificationTopic
    InsufficientDataActions:
      - !Ref ManualCfAlarmNotificationTopic
    EvaluationPeriods: 1
    DatapointsToAlarm: 1
    Threshold: 1.0
    ComparisonOperator: LessThanThreshold
    TreatMissingData: "missing" # doesn't matter, because of FILL()
    Metrics:
      - Id: "e1"
        Expression: "FILL(m1, 0)"
        Label: "MaxFillInvocations"
        ReturnData: true
      - Id: "m1"
        MetricStat:
          Metric:
            Namespace: "AWS/Lambda"
            MetricName: "Invocations"
            Dimensions:
              - Name: "FunctionName"
                Value: "alarms-test-dev-AlarmsTestManual"
              - Name: "Resource"
                Value: "alarms-test-dev-AlarmsTestManual"
          Period: 600
          Stat: "Sum"
        ReturnData: false
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64044268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档