🍿
Cloudwatch Logs 一括で特定ロググループの保持期間をcloudshell上で変更する
はじめに
ロググループの保持期間をコンソールから変更していくのが面倒 & 一括で全てのロググループの保持期間を変更するやり方はいくつか見つかったのですが、特定のロググループだけ変更したかったのでコードを書いてみました。
1.変更したいロググループ用のテキストファイル作成
ある程度汎用的に使えるようにしたかったので分けてみました。
今回は「setting_loggroup.txt」という名前のファイルを作成しました。このファイルに変更したいロググループの名前を改行区切りで書いていきます。
setting_loggroup.txt
dammy-loggroup01
dammy-loggroup02
dammy-loggroup03
2. 変更コード
loggroup.py
import boto3
def open_file():
with open("setting_loggroup.txt") as f:
l_strip = [s.strip() for s in f.readlines()]
return l_strip
def setting():
logs_client = boto3.client('logs')
group_list = open_file()
Days = input('Enter retention days : ')
for log_group in group_list:
result = logs_client.put_retention_policy(
logGroupName=log_group,
retentionInDays=int(Days)
)
print(log_group)
print("----------END----------")
setting()
3. コンソールからCloudshellを起動
起動したら右上の「Actions」→「Upload file」から上の2つのファイルをアップロードします。
4. 実行
python3 loggroup.py
を実行します。
指定できる保持期間は 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653 です。
Python 2.xにはboto3が無いので注意です。
Discussion