【CloudWatch】ロググループの保存期間一括変更手順
Tags
Amazon CloudWatch
AWS
Linux
Release Date
2020/7/2
ID
23
■ 目次
1. はじめに
- Git Bash では動きません
- jqコマンド は使っていません
2. 事前準備
参考記事
3. 環境構築
3.1. 作業ディレクトリとファイルの準備
- ディレクトリを作成
- work
- ファイルを作成
- Retention_Period_Change.sh
mkdir work cd ./work touch Retention_Period_Change.sh
Shell
3.2. 実行ファイルの準備
好きなエディターで
Retention_Period_Change.sh
を編集#!/bin/bash# ------------------------------------------------------------------- ## ロググループ一覧取得/Get LogGroupName List LOGLIST=TESTlog.tmp aws logs describe-log-groups --profile TEST | \ grep "logGroupName" | \ awk '{print substr($0, 30)}' | \ sed -e 's/\"\,//g' >> TESTlog.tmp # ------------------------------------------------------------------- # ------------------------------------------------------------------- ## 保存期間/Shelf life TEST=1 PRE=3 PRO=5 retention_in_days=$TEST while read line do LISTS="$line" aws logs put-retention-policy \ --profile TEST \ --log-group-name ${LISTS} \ --retention-in-days ${retention_in_days} done < ${LOGLIST} # -------------------------------------------------------------------
Shell
3.3. 【ロググループ一覧取得】 解説
- grep で logGroupName 行だけを取得
- awk で最初の空白から”(ダブルクォート)開始まで削除
- sed で末尾の “,(ダブルクォートとカンマ) を削除
- TESTlog.tmp に書き込み
aws logs describe-log-groups --profile TEST | \ grep "logGroupName" | \ awk '{print substr($0, 30)}' | \ sed -e 's/\"\,//g' >> TESTlog.tmp
Shell
3.4. 保存期間の指定
開発/検証/本番環境で別ける時にご利用ください。
## 保存期間/Shelf life TEST=1 PRE=3 PRO=5 retention_in_days=$TEST
Shell