【问题标题】:CloudWatch alarm doesn't trigger action if it changes state while having alarm actions disabled如果 CloudWatch 警报在禁用警报操作时更改状态,则不会触发操作
【发布时间】:2020-03-08 07:48:44
【问题描述】:

我在 CloudWatch 警报上使用 enable_alarm_actions() / disable_alarm_actions() 来实现 CloudWatch 警报停机机制。

如果警报改变了它的状态,当它“停机”时(ActionsEnabled 属性设置为false)它不会像预期的那样触发相应的操作。但是当你enable_alarm_actions() 回复警报时,仍然没有触发。您遇到的情况是,当警报进入ALARM 状态而在停机时间到期后被停机时,您没有收到通知。

那么,问题是,这是预期的吗?有没有办法手动触发警报操作?

【问题讨论】:

    标签: amazon-web-services amazon-cloudwatch


    【解决方案1】:

    如果我正确理解您所描述的内容,Cloudwatch 在处于警报状态和启用其操作时不会触发操作。

    这是设计使然。警报仅在警报更改状态发生时才调用操作。处于警报状态是不够的。

    文档write:

    警报仅针对持续的状态更改调用操作。云观察 警报不会仅仅因为它们处于特定的 状态,该状态必须已更改并保持指定的 周期数。

    因此,当警报已处于警报状态时启用您的操作时,不会发生任何事情。您必须等待下一次警报状态更改。

    【讨论】:

    • 这很不幸,但在意料之中。这使得问题的第二部分悬而未决:是否可以以编程方式触发警报操作(通过 sdk / 命令行)?
    • @ChernikovP 我不这么认为。对于 sns,您可以使用 sns api 手动向主题发送消息。对于自动缩放,您还需要使用 autoscaling api。但我不知道有任何cloudwatch 特定的api可以随意触发动作。
    • 有一个set_alarm_state() API,因此您可以尝试将状态更改回 OK,它应该会反弹回 ALARM 并触发操作。
    • 我最终检查了警报历史以查看状态是否在停机期间发生了变化,如果是,我手动向sns 主题发送一条消息,并在接收方(PagerDuty)单独处理。感谢您的回复,伙计们。
    猜你喜欢
    • 2020-06-10
    • 1970-01-01
    • 1970-01-01
    • 2019-11-07
    • 2021-01-10
    • 1970-01-01
    • 2020-02-19
    • 2020-11-12
    • 2019-10-29
    相关资源
    最近更新 更多