CloudWatch logs log groups without retention

Taegu KangTaegu Kang
1 min read
  • outline

When creating AWS resources, log groups are often created in CloudWatch Logs without retention settings, and charged unexpectly. Below is a script that automatically generates a command to check and apply the retention of already created log groups.

  • script
#!/bin/bash
echo "CloudwatchLog without Retention Settings"
for i in $(aws logs describe-log-groups --query logGroups[*].logGroupName[] --output text)
        do
        CloudwatchLogRetention=$(aws logs describe-log-groups --log-group-name-prefix $i --query logGroups[].retentionInDays --output text 2>/dev/null)
        if [ -z "$CloudwatchLogRetention" ];
        then
                echo "aws logs put-retention-policy --log-group-name $i --retention-in-days x"
        else true
        fi
done
echo "================================================================================================================================="
0
Subscribe to my newsletter

Read articles from Taegu Kang directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Taegu Kang
Taegu Kang