2017-05-14 5 views
0

私の組織では、今後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のアラームをすべて無効にするように求められました。だから、それらの名前を含めて、多くの時間がかかります。

私は今何をすべきか教えてください。

答えて

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) 

あなたが唯一の特定のアラームを無効にするには、アラーム名の周りのいくつかのロジックをお勧めします。

関連する問題