Skip to content

Watching what's up with your CDK apps since 2019

License

Notifications You must be signed in to change notification settings

jamiepmullan/cdk-watchful

 
 

Repository files navigation

cdk-watchful

CircleCI python typescript

Watching your CDK back since 2019

Watchful is an AWS CDK construct library that makes it easy to monitor CDK apps.

TypeScript:

import { Watchful } from 'cdk-watchful'

const wf = new Watchful(this, 'watchful');
wf.watchDynamoTable('My Cute Little Table', myTable);
wf.watchLambdaFunction('My Function', myFunction);
wf.watchApiGateway('My REST API', myRestApi);

Python:

from cdk_watchful import Watchful

wf = Watchful(self, 'watchful')
wf.watch_dynamo_table('My Cute Little Table', my_table)
wf.watch_lambda_function('My Function', my_function)
wf.watch_api_gateway('My REST API', my_rest_api)

And...

Install

TypeScript/JavaScript:

$ npm install cdk-watchful

Python:

$ pip install cdk-watchful

Initialize

To get started, just define a Watchful construct in your CDK app (code is in TypeScript, but python will work too):

TypeScript:

import Watchful from 'cdk-watchful';

const wf = new Watchful(this, 'watchful', {
  alarmEmail: 'your@email.com'
});

Python:

from cdk_watchful import Watchful

wf = Watchful(self, 'watchful', alarm_email='your@amil.com')

Add Resources

Watchful manages a central dashboard and configures default alarming for:

  • Amazon DynamoDB: watchful.watchDynamoTable
  • AWS Lambda: watchful.watchLambdaFunction
  • Amazon API Gateway: watchful.watchApiGateway
  • Request yours

Watching Scopes

Watchful can also watch complete CDK construct scopes. It will automatically discover all watchable resources within that scope (recursively), add them to your dashboard and configure alarms for them.

TypeScript:

wf.watchScope(storageLayer);

Python:

wf.watch_scope(storage_layer)

Example

See a more complete example.

License

Apache 2.0

About

Watching what's up with your CDK apps since 2019

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%