Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 正在尝试一次性禁用所有Cloud Watch警报_Amazon Web Services_Aws Lambda_Amazon Cloudwatch - Fatal编程技术网

Amazon web services 正在尝试一次性禁用所有Cloud Watch警报

Amazon web services 正在尝试一次性禁用所有Cloud Watch警报,amazon-web-services,aws-lambda,amazon-cloudwatch,Amazon Web Services,Aws Lambda,Amazon Cloudwatch,我的组织计划在未来5小时内提供一个维护窗口。在此期间,我不希望Cloud Watch触发警报和发送通知 之前,当我不得不禁用4个报警时,我已经在AWS Lambda中编写了以下代码。这很有效 import boto3 import collections client = boto3.client('cloudwatch') def lambda_handler(event, context): response = client.disable_alarm_actions(

我的组织计划在未来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个警报。所以,包括所有这些名字需要很多时间

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

用于获取它们的列表,然后遍历并禁用它们:

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)
您可能希望警报名称周围有一些逻辑,以便仅禁用特定警报