Skip to main content

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

releasenpm versionPyPI version

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

cloudwatch-auto-retention-1.0.0.tar.gz (32.1 kB view hashes)

Uploaded Source

Built Distribution

cloudwatch_auto_retention-1.0.0-py3-none-any.whl (31.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page