【问题标题】:Trying to disable all the Cloud Watch alarms in one shot尝试一次性禁用所有 Cloud Watch 警报
【发布时间】:2017-10-13 07:12:48
【问题描述】:

我的组织计划在接下来的 5 小时内设置一个维护窗口。在此期间,我不希望 Cloud Watch 触发警报和发送通知。

之前,当我不得不禁用 4 个警报时,我在 AWS Lambda 中编写了以下代码。这很好用。

import boto3
import collections

client = boto3.client('cloudwatch')

def lambda_handler(event, context):
    response = client.disable_alarm_actions(
    AlarmNames=[
        'CRITICAL - StatusCheckFailed for Instance 456',
        'CRITICAL - StatusCheckFailed for Instance 345',
        'CRITICAL - StatusCheckFailed for Instance 234',
        'CRITICAL - StatusCheckFailed for Instance 123'
    ]
)

但是现在,我被要求禁用所有数量为 361 的警报。因此,包括所有这些名称将花费大量时间。

请让我知道我现在应该做什么?

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-cloudwatch


    【解决方案1】:

    使用describe_alarms() 获取它们的列表,然后遍历并禁用它们:

    import boto3
    client = boto3.client('cloudwatch')
    
    response = client.describe_alarms()
    
    names = [[alarm['AlarmName'] for alarm in response['MetricAlarms']]]
    disable_response = client.disable_alarm_actions(names)
    

    您可能希望在警报名称周围使用一些逻辑来仅禁用特定警报。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-04
      • 2014-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      • 2017-03-13
      • 2023-02-09
      相关资源
      最近更新 更多