Amazon web services 正在尝试一次性禁用所有Cloud Watch警报
我的组织计划在未来5小时内提供一个维护窗口。在此期间,我不希望Cloud Watch触发警报和发送通知 之前,当我不得不禁用4个报警时,我已经在AWS Lambda中编写了以下代码。这很有效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(
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)
您可能希望警报名称周围有一些逻辑,以便仅禁用特定警报