CloudWatch Auto Retention is a construct that creates a Lambda with a cronjob that checks whether CloudWatch loggroups are set to never-expire. If so, the construct sets it to one month.
Project description
Cloudwatch Auto Retention
Cloudwatch Auto Retention is an AWS CDK construct library that will check once a month if you have any Cloudwatch Log Groups in the region it is deployed with a never-expire retention and auto-fix this to one month. This is a cost-optimization as Cloudwatch Logs have a very high storage cost. If you need Cloudwatch logs for longer you should set an automated S3 export (cloudwatch-logs-s3-export is in the works 😚).
Getting started
TypeScript
Installation
NPM
npm install --save cloudwatch-auto-retention
yarn
yarn add cloudwatch-auto-retention
Usage
# Example automatically generated from non-compiling source. May contain errors.
import * as cdk from '@aws-cdk/core';
import { CloudwatchAutoRetention } from 'cloudwatch-auto-retention';
import { RetentionDays } from 'aws-cdk-lib/aws-logs';
import { Schedule } from 'aws-cdk-lib/aws-events';
const mockApp = new cdk.App();
const stack = new cdk.Stack(mockApp, '<your-stack-name>');
new CloudwatchAutoRetention(stack, 'cloudwatch-auto-retention');
// With retention set
new CloudwatchAutoRetention(stack, 'cloudwatch-auto-retention', {
retention: RetentionDays.ONE_MONTH
});
// With schedule for the Lambda function set
new CloudwatchAutoRetention(stack, 'cloudwatch-auto-retention', {
schedule: Schedule.cron({ minute: '0', hour: '1', day: '1' })
});
Python
Installation
$ pip install cloudwatch-auto-retention
Usage
import aws_cdk.core as cdk
from cdk_cloudwatch_auto_retention import CloudwatchAutoRetention
app = cdk.App()
stack = cdk.Stack(app, "<your-stack-name>")
CdkCloudwatchAutoRetention(stack, "cloudwatch-auto-retention")
Overview
A Cloudwatch cron rule will trigger a Lambda that will go over all Cloudwatch Log Groups and check if the retention is never-expire. If so, it will change it to one month default or whatever you set as retention
.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cloudwatch-auto-retention-1.0.0.tar.gz
.
File metadata
- Download URL: cloudwatch-auto-retention-1.0.0.tar.gz
- Upload date:
- Size: 32.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 806d12c178e79a78aaab339d222bc50b8bbda15758ba0b0cd3777a61e4a31008 |
|
MD5 | d28c523d0b6be4b72160a088b5d231e2 |
|
BLAKE2b-256 | e9fdef2d80955a9d84da8ce616749f795ff3b362d76a269b0269d6aa535fefe9 |
File details
Details for the file cloudwatch_auto_retention-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: cloudwatch_auto_retention-1.0.0-py3-none-any.whl
- Upload date:
- Size: 31.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d4eb38c3e2c849d6369565affb8b62a04546442b8fbf74b6bd2c5200b998a3f |
|
MD5 | 8cf1f93719646331a130d4834ddfaff5 |
|
BLAKE2b-256 | 3e48717cb11754bee3b699e34a240859014a95e5ee161cdb42a756b6e8fc0683 |