Skip to main content

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.

Metadata

Release files for cloudwatch-auto-retention 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cloudwatch-auto-retention 1.0.0
File Size Uploaded Provenance Actions
cloudwatch-auto-retention-1.0.0.tar.gz 32.1 kB Without provenance Details for cloudwatch-auto-retention-1.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for cloudwatch-auto-retention 1.0.0
File Interpreter ABI Platform Actions
cloudwatch_auto_retention-1.0.0-py3-none-any.whl Python 3 none any Details for cloudwatch_auto_retention-1.0.0-py3-none-any.whl

Total release size: 63.4 kB

Release files / cloudwatch-auto-retention-1.0.0.tar.gz

Download URL cloudwatch-auto-retention-1.0.0.tar.gz
Size 32.1 kB
Tags Source
SHA-256 checksum
How to use checksums
806d12c178e79a78aaab339d222bc50b8bbda15758ba0b0cd3777a61e4a31008
BLAKE2b-256 checksum
How to use checksums
e9fdef2d80955a9d84da8ce616749f795ff3b362d76a269b0269d6aa535fefe9
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / cloudwatch_auto_retention-1.0.0-py3-none-any.whl

Download URL cloudwatch_auto_retention-1.0.0-py3-none-any.whl
Size 31.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5d4eb38c3e2c849d6369565affb8b62a04546442b8fbf74b6bd2c5200b998a3f
BLAKE2b-256 checksum
How to use checksums
3e48717cb11754bee3b699e34a240859014a95e5ee161cdb42a756b6e8fc0683
Upload date
Uploaded using Trusted Publishing?
What is 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

Security for cloudwatch-auto-retention 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page