Skip to main content

Maintain AWS CloudWatch log streams

Project description

AWS Cloudwatch Log minder

AWS CloudWatch logs is an useful logging system, but it has two quircks. It does not allow you too set a default retention period for newly created log groups, and it does not delete empty log streams that are older than the retention period. This utility:

  1. sets a default retention period on log groups without a period set.
  2. removes empty log streams older than the retention period of the log group

You can use it as a command line utility. You can also install it as an AWS Lambda function and have your logs kept in order, NoOps style!

install the log minder

to install the log minder, type:

pip install aws-cloudwatch-log-minder

set default retention period

to set the default retention period on log groups without one, type:

cwlog-minder --dry-run set-log-retention --days 30

This will show you which log groups will have its retention period set. Remove the --dry-run and it the retention period will be set. If you wish to set the retention of all log groups to the same value, type:

cwlog-minder --dry-run set-log-retention --days 30 --overwrite

delete empty log streams

To delete empty log streams older than the retention period, type:

cwlog-minder --dry-run delete-empty-log-streams

This will show you which empty log streams will be deleted. Remove the --dry-run and these stream will be deleted.

deploy the log minder

To deploy the log minder as an AWS Lambda, type:

git clone https://github.com/binxio/aws-cloudwatch-log-minder.git
cd aws-cloudwatch-log-minder
aws cloudformation deploy \
	--capabilities CAPABILITY_IAM \
	--stack-name aws-cloudwatch-log-minder \
	--template-file ./cloudformation/aws-cloudwatch-log-minder.yaml \
	--parameter-overrides LogRetentionInDays=30

This will install the log minder in your AWS account and run every hour.

verbose

export LOG_LEVEL=INFO
cwlog-minder ...

region and profile selection

AWS regions and credential profiles can be selected via command line arguments or environment variables.

region via parameter

cwlog-minder --region eu-west-1 ...

region via environment

export AWS_DEFAULT_REGION=eu-west-1
cwlog-minder ...

profile via parameter

cwlog-minder --profile dev ...

profile via environment

export AWS_PROFILE=dev
cwlog-minder ...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for aws-cloudwatch-log-minder, version 0.4.0
Filename, size File type Python version Upload date Hashes
Filename, size aws-cloudwatch-log-minder-0.4.0.tar.gz (5.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page