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.
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.