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 details)

Uploaded Source

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

Hashes for cloudwatch-auto-retention-1.0.0.tar.gz
Algorithm Hash digest
SHA256 806d12c178e79a78aaab339d222bc50b8bbda15758ba0b0cd3777a61e4a31008
MD5 d28c523d0b6be4b72160a088b5d231e2
BLAKE2b-256 e9fdef2d80955a9d84da8ce616749f795ff3b362d76a269b0269d6aa535fefe9

See more details on using hashes here.

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

Hashes for cloudwatch_auto_retention-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d4eb38c3e2c849d6369565affb8b62a04546442b8fbf74b6bd2c5200b998a3f
MD5 8cf1f93719646331a130d4834ddfaff5
BLAKE2b-256 3e48717cb11754bee3b699e34a240859014a95e5ee161cdb42a756b6e8fc0683

See more details on using hashes here.

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