Classes
| Name | Description |
|---|---|
| WatchApiGateway | No description |
| WatchDynamoTable | No description |
| WatchEcsService | No description |
| WatchLambdaFunction | No description |
| WatchRdsAurora | No description |
| WatchStateMachine | No description |
| Watchful | No description |
| WatchfulAspect | A CDK aspect that can automatically watch all resources within a scope. |
Structs
| Name | Description |
|---|---|
| QuickLink | No description |
| SectionOptions | No description |
| WatchApiGatewayOptions | No description |
| WatchApiGatewayProps | No description |
| WatchDynamoTableOptions | No description |
| WatchDynamoTableProps | No description |
| WatchEcsServiceOptions | No description |
| WatchEcsServiceProps | No description |
| WatchLambdaFunctionOptions | No description |
| WatchLambdaFunctionProps | No description |
| WatchRdsAuroraOptions | No description |
| WatchRdsAuroraProps | No description |
| WatchStateMachineOptions | No description |
| WatchStateMachineProps | No description |
| WatchedOperation | An operation (path and method) worth monitoring. |
| WatchfulAspectProps | No description |
| WatchfulProps | No description |
Interfaces
| Name | Description |
|---|---|
| IWatchful | No description |
Implements: IConstruct, IDependable Extends: Construct
new WatchApiGateway(scope: Construct, id: string, props: WatchApiGatewayProps)- scope (
Construct) No description - id (
string) No description - props (
WatchApiGatewayProps) No description- cacheGraph (
boolean) Include a dashboard graph for caching metrics. Default: false - serverErrorThreshold (
number) Alarm when 5XX errors reach this threshold over 5 minutes. Default: 1 any 5xx HTTP response will trigger the alarm - watchedOperations (
Array<WatchedOperation>) A list of operations to monitor separately. Default: only API-level monitoring is added. - restApi (
aws_apigateway.RestApi) The API Gateway REST API that is being watched. - title (
string) The title of this section. - watchful (
IWatchful) The Watchful instance to add widgets into.
- cacheGraph (
Implements: IConstruct, IDependable Extends: Construct
new WatchDynamoTable(scope: Construct, id: string, props: WatchDynamoTableProps)- scope (
Construct) No description - id (
string) No description - props (
WatchDynamoTableProps) No description- readCapacityThresholdPercent (
number) Threshold for read capacity alarm (percentage). Default: 80 - writeCapacityThresholdPercent (
number) Threshold for read capacity alarm (percentage). Default: 80 - table (
aws_dynamodb.Table) No description - title (
string) No description - watchful (
IWatchful) No description
- readCapacityThresholdPercent (
Implements: IConstruct, IDependable Extends: Construct
new WatchEcsService(scope: Construct, id: string, props: WatchEcsServiceProps)- scope (
Construct) No description - id (
string) No description - props (
WatchEcsServiceProps) No description- cpuMaximumThresholdPercent (
number) Threshold for the Cpu Maximum utilization. Default: 80 - memoryMaximumThresholdPercent (
number) Threshold for the Memory Maximum utilization. Default: 0. - requestsErrorRateThreshold (
number) Threshold for the Number of Request Errors. Default: 0. - requestsThreshold (
number) Threshold for the Number of Requests. Default: 0. - targetResponseTimeThreshold (
number) Threshold for the Target Response Time. Default: 0. - targetGroup (
aws_elasticloadbalancingv2.ApplicationTargetGroup) No description - title (
string) No description - watchful (
IWatchful) No description - ec2Service (
aws_ecs.Ec2Service) No description Optional - fargateService (
aws_ecs.FargateService) No description Optional
- cpuMaximumThresholdPercent (
Implements: IConstruct, IDependable Extends: Construct
new WatchLambdaFunction(scope: Construct, id: string, props: WatchLambdaFunctionProps)- scope (
Construct) No description - id (
string) No description - props (
WatchLambdaFunctionProps) No description- durationThresholdPercent (
number) Threshold for the duration alarm as percentage of the function's timeout value. Default: 80 - errorsPerMinuteThreshold (
number) Number of allowed errors per minute. Default: 0 - throttlesPerMinuteThreshold (
number) Number of allowed throttles per minute. Default: 0 - fn (
aws_lambda.Function) No description - title (
string) No description - watchful (
IWatchful) No description
- durationThresholdPercent (
Implements: IConstruct, IDependable Extends: Construct
new WatchRdsAurora(scope: Construct, id: string, props: WatchRdsAuroraProps)- scope (
Construct) No description - id (
string) No description - props (
WatchRdsAuroraProps) No description- cpuMaximumThresholdPercent (
number) Threshold for the Cpu Maximum utilization. Default: 80 - dbBufferCacheMinimumThreshold (
number) Threshold for the Minimum Db Buffer Cache. Default: 0. - dbConnectionsMaximumThreshold (
number) Threshold for the Maximum Db Connections. Default: 0. - dbReplicaLagMaximumThreshold (
number) Threshold for the Maximum Db ReplicaLag. Default: 0. - dbThroughputMaximumThreshold (
number) Threshold for the Maximum Db Throughput. Default: 0. - cluster (
aws_rds.DatabaseCluster) No description - title (
string) No description - watchful (
IWatchful) No description
- cpuMaximumThresholdPercent (
Implements: IConstruct, IDependable Extends: Construct
new WatchStateMachine(scope: Construct, id: string, props: WatchStateMachineProps)- scope (
Construct) No description - id (
string) No description - props (
WatchStateMachineProps) No description- metricFailedThreshold (
number) Alarm when execution failures reach this threshold over 1 minute. Default: 1 any execution failure will trigger the alarm - stateMachine (
aws_stepfunctions.StateMachine) No description - title (
string) No description - watchful (
IWatchful) No description
- metricFailedThreshold (
Implements: IConstruct, IDependable, IWatchful Extends: Construct
new Watchful(scope: Construct, id: string, props?: WatchfulProps)- scope (
Construct) No description - id (
string) No description - props (
WatchfulProps) No description- alarmActionArns (
Array) ARNs of actions to perform when alarms go off. Default: [] You can usealarmActionsinstead as a strongly-typed alternative. - alarmActions (
Array<aws_cloudwatch.IAlarmAction>) CloudWatch alarm actions to perform when alarms go off. Optional - alarmEmail (
string) Email address to send alarms to. Default: alarms are not sent to an email recipient. - alarmSns (
aws_sns.ITopic) SNS topic to send alarms to. Default: alarms are not sent to an SNS Topic. - alarmSqs (
aws_sqs.IQueue) SQS queue to send alarms to. Default: alarms are not sent to an SQS queue. - dashboard (
boolean) Whether to generate CloudWatch dashboards. Default: true - dashboardName (
string) The name of the CloudWatch dashboard generated by Watchful. Default: auto-generated
- alarmActionArns (
addAlarm(alarm: IAlarm): void- alarm (
aws_cloudwatch.IAlarm) No description
addSection(title: string, options?: SectionOptions): void- title (
string) No description - options (
SectionOptions) No description- links (
Array<QuickLink>) No description Optional
- links (
addWidgets(...widgets: IWidget[]): void- widgets (
aws_cloudwatch.IWidget) No description
watchApiGateway(title: string, restApi: RestApi, options?: WatchApiGatewayOptions): WatchApiGateway- title (
string) No description - restApi (
aws_apigateway.RestApi) No description - options (
WatchApiGatewayOptions) No description- cacheGraph (
boolean) Include a dashboard graph for caching metrics. Default: false - serverErrorThreshold (
number) Alarm when 5XX errors reach this threshold over 5 minutes. Default: 1 any 5xx HTTP response will trigger the alarm - watchedOperations (
Array<WatchedOperation>) A list of operations to monitor separately. Default: only API-level monitoring is added.
- cacheGraph (
Returns:
watchDynamoTable(title: string, table: Table, options?: WatchDynamoTableOptions): WatchDynamoTable- title (
string) No description - table (
aws_dynamodb.Table) No description - options (
WatchDynamoTableOptions) No description- readCapacityThresholdPercent (
number) Threshold for read capacity alarm (percentage). Default: 80 - writeCapacityThresholdPercent (
number) Threshold for read capacity alarm (percentage). Default: 80
- readCapacityThresholdPercent (
Returns:
watchEc2Ecs(title: string, ec2Service: Ec2Service, targetGroup: ApplicationTargetGroup, options?: WatchEcsServiceOptions): WatchEcsService- title (
string) No description - ec2Service (
aws_ecs.Ec2Service) No description - targetGroup (
aws_elasticloadbalancingv2.ApplicationTargetGroup) No description - options (
WatchEcsServiceOptions) No description- cpuMaximumThresholdPercent (
number) Threshold for the Cpu Maximum utilization. Default: 80 - memoryMaximumThresholdPercent (
number) Threshold for the Memory Maximum utilization. Default: 0. - requestsErrorRateThreshold (
number) Threshold for the Number of Request Errors. Default: 0. - requestsThreshold (
number) Threshold for the Number of Requests. Default: 0. - targetResponseTimeThreshold (
number) Threshold for the Target Response Time. Default: 0.
- cpuMaximumThresholdPercent (
Returns:
watchFargateEcs(title: string, fargateService: FargateService, targetGroup: ApplicationTargetGroup, options?: WatchEcsServiceOptions): WatchEcsService- title (
string) No description - fargateService (
aws_ecs.FargateService) No description - targetGroup (
aws_elasticloadbalancingv2.ApplicationTargetGroup) No description - options (
WatchEcsServiceOptions) No description- cpuMaximumThresholdPercent (
number) Threshold for the Cpu Maximum utilization. Default: 80 - memoryMaximumThresholdPercent (
number) Threshold for the Memory Maximum utilization. Default: 0. - requestsErrorRateThreshold (
number) Threshold for the Number of Request Errors. Default: 0. - requestsThreshold (
number) Threshold for the Number of Requests. Default: 0. - targetResponseTimeThreshold (
number) Threshold for the Target Response Time. Default: 0.
- cpuMaximumThresholdPercent (
Returns:
watchLambdaFunction(title: string, fn: Function, options?: WatchLambdaFunctionOptions): WatchLambdaFunction- title (
string) No description - fn (
aws_lambda.Function) No description - options (
WatchLambdaFunctionOptions) No description- durationThresholdPercent (
number) Threshold for the duration alarm as percentage of the function's timeout value. Default: 80 - errorsPerMinuteThreshold (
number) Number of allowed errors per minute. Default: 0 - throttlesPerMinuteThreshold (
number) Number of allowed throttles per minute. Default: 0
- durationThresholdPercent (
Returns:
watchRdsAuroraCluster(title: string, cluster: DatabaseCluster, options?: WatchRdsAuroraOptions): WatchRdsAurora- title (
string) No description - cluster (
aws_rds.DatabaseCluster) No description - options (
WatchRdsAuroraOptions) No description- cpuMaximumThresholdPercent (
number) Threshold for the Cpu Maximum utilization. Default: 80 - dbBufferCacheMinimumThreshold (
number) Threshold for the Minimum Db Buffer Cache. Default: 0. - dbConnectionsMaximumThreshold (
number) Threshold for the Maximum Db Connections. Default: 0. - dbReplicaLagMaximumThreshold (
number) Threshold for the Maximum Db ReplicaLag. Default: 0. - dbThroughputMaximumThreshold (
number) Threshold for the Maximum Db Throughput. Default: 0.
- cpuMaximumThresholdPercent (
Returns:
watchScope(scope: Construct, options?: WatchfulAspectProps): void- scope (
Construct) No description - options (
WatchfulAspectProps) No description- apiGateway (
boolean) Automatically watch API Gateway APIs in the scope. Default: true - dynamodb (
boolean) Automatically watch all Amazon DynamoDB tables in the scope. Default: true - ec2ecs (
boolean) Automatically watch ApplicationLoadBalanced EC2 Ecs Services in the scope (using ECS Pattern). Default: true - fargateecs (
boolean) Automatically watch ApplicationLoadBalanced Fargate Ecs Services in the scope (using ECS Pattern). Default: true - lambda (
boolean) Automatically watch AWS Lambda functions in the scope. Default: true - rdsaurora (
boolean) Automatically watch RDS Aurora clusters in the scope. Default: true - stateMachine (
boolean) Automatically watch AWS state machines in the scope. Default: true
- apiGateway (
watchStateMachine(title: string, stateMachine: StateMachine, options?: WatchStateMachineOptions): WatchStateMachine- title (
string) No description - stateMachine (
aws_stepfunctions.StateMachine) No description - options (
WatchStateMachineOptions) No description- metricFailedThreshold (
number) Alarm when execution failures reach this threshold over 1 minute. Default: 1 any execution failure will trigger the alarm
- metricFailedThreshold (
Returns:
A CDK aspect that can automatically watch all resources within a scope.
Implements: IAspect
Defines a watchful aspect.
new WatchfulAspect(watchful: Watchful, props?: WatchfulAspectProps)- watchful (
Watchful) The watchful to add those resources to. - props (
WatchfulAspectProps) Options.- apiGateway (
boolean) Automatically watch API Gateway APIs in the scope. Default: true - dynamodb (
boolean) Automatically watch all Amazon DynamoDB tables in the scope. Default: true - ec2ecs (
boolean) Automatically watch ApplicationLoadBalanced EC2 Ecs Services in the scope (using ECS Pattern). Default: true - fargateecs (
boolean) Automatically watch ApplicationLoadBalanced Fargate Ecs Services in the scope (using ECS Pattern). Default: true - lambda (
boolean) Automatically watch AWS Lambda functions in the scope. Default: true - rdsaurora (
boolean) Automatically watch RDS Aurora clusters in the scope. Default: true - stateMachine (
boolean) Automatically watch AWS state machines in the scope. Default: true
- apiGateway (
All aspects can visit an IConstruct.
visit(node: IConstruct): void- node (
IConstruct) No description
Implemented by: Watchful
addAlarm(alarm: IAlarm): void- alarm (
aws_cloudwatch.IAlarm) No description
addSection(title: string, options?: SectionOptions): void- title (
string) No description - options (
SectionOptions) No description- links (
Array<QuickLink>) No description Optional
- links (
addWidgets(...widgets: IWidget[]): void- widgets (
aws_cloudwatch.IWidget) No description
| Name | Type | Description |
|---|---|---|
| title๐น | string |
|
| url๐น | string |
| Name | Type | Description |
|---|---|---|
| links?๐น | Array<QuickLink> |
Optional |
| Name | Type | Description |
|---|---|---|
| cacheGraph?๐น | boolean |
Include a dashboard graph for caching metrics. Default: false |
| serverErrorThreshold?๐น | number |
Alarm when 5XX errors reach this threshold over 5 minutes. Default: 1 any 5xx HTTP response will trigger the alarm |
| watchedOperations?๐น | Array<WatchedOperation> |
A list of operations to monitor separately. Default: only API-level monitoring is added. |
| Name | Type | Description |
|---|---|---|
| restApi๐น | aws_apigateway.RestApi |
The API Gateway REST API that is being watched. |
| title๐น | string |
The title of this section. |
| watchful๐น | IWatchful |
The Watchful instance to add widgets into. |
| cacheGraph?๐น | boolean |
Include a dashboard graph for caching metrics. Default: false |
| serverErrorThreshold?๐น | number |
Alarm when 5XX errors reach this threshold over 5 minutes. Default: 1 any 5xx HTTP response will trigger the alarm |
| watchedOperations?๐น | Array<WatchedOperation> |
A list of operations to monitor separately. Default: only API-level monitoring is added. |
| Name | Type | Description |
|---|---|---|
| readCapacityThresholdPercent?๐น | number |
Threshold for read capacity alarm (percentage). Default: 80 |
| writeCapacityThresholdPercent?๐น | number |
Threshold for read capacity alarm (percentage). Default: 80 |
| Name | Type | Description |
|---|---|---|
| table๐น | aws_dynamodb.Table |
|
| title๐น | string |
|
| watchful๐น | IWatchful |
|
| readCapacityThresholdPercent?๐น | number |
Threshold for read capacity alarm (percentage). Default: 80 |
| writeCapacityThresholdPercent?๐น | number |
Threshold for read capacity alarm (percentage). Default: 80 |
| Name | Type | Description |
|---|---|---|
| cpuMaximumThresholdPercent?๐น | number |
Threshold for the Cpu Maximum utilization. Default: 80 |
| memoryMaximumThresholdPercent?๐น | number |
Threshold for the Memory Maximum utilization. Default: 0. |
| requestsErrorRateThreshold?๐น | number |
Threshold for the Number of Request Errors. Default: 0. |
| requestsThreshold?๐น | number |
Threshold for the Number of Requests. Default: 0. |
| targetResponseTimeThreshold?๐น | number |
Threshold for the Target Response Time. Default: 0. |
| Name | Type | Description |
|---|---|---|
| targetGroup๐น | aws_elasticloadbalancingv2.ApplicationTargetGroup |
|
| title๐น | string |
|
| watchful๐น | IWatchful |
|
| cpuMaximumThresholdPercent?๐น | number |
Threshold for the Cpu Maximum utilization. Default: 80 |
| ec2Service?๐น | aws_ecs.Ec2Service |
Optional |
| fargateService?๐น | aws_ecs.FargateService |
Optional |
| memoryMaximumThresholdPercent?๐น | number |
Threshold for the Memory Maximum utilization. Default: 0. |
| requestsErrorRateThreshold?๐น | number |
Threshold for the Number of Request Errors. Default: 0. |
| requestsThreshold?๐น | number |
Threshold for the Number of Requests. Default: 0. |
| targetResponseTimeThreshold?๐น | number |
Threshold for the Target Response Time. Default: 0. |
| Name | Type | Description |
|---|---|---|
| durationThresholdPercent?๐น | number |
Threshold for the duration alarm as percentage of the function's timeout value. Default: 80 |
| errorsPerMinuteThreshold?๐น | number |
Number of allowed errors per minute. Default: 0 |
| throttlesPerMinuteThreshold?๐น | number |
Number of allowed throttles per minute. Default: 0 |
| Name | Type | Description |
|---|---|---|
| fn๐น | aws_lambda.Function |
|
| title๐น | string |
|
| watchful๐น | IWatchful |
|
| durationThresholdPercent?๐น | number |
Threshold for the duration alarm as percentage of the function's timeout value. Default: 80 |
| errorsPerMinuteThreshold?๐น | number |
Number of allowed errors per minute. Default: 0 |
| throttlesPerMinuteThreshold?๐น | number |
Number of allowed throttles per minute. Default: 0 |
| Name | Type | Description |
|---|---|---|
| cpuMaximumThresholdPercent?๐น | number |
Threshold for the Cpu Maximum utilization. Default: 80 |
| dbBufferCacheMinimumThreshold?๐น | number |
Threshold for the Minimum Db Buffer Cache. Default: 0. |
| dbConnectionsMaximumThreshold?๐น | number |
Threshold for the Maximum Db Connections. Default: 0. |
| dbReplicaLagMaximumThreshold?๐น | number |
Threshold for the Maximum Db ReplicaLag. Default: 0. |
| dbThroughputMaximumThreshold?๐น | number |
Threshold for the Maximum Db Throughput. Default: 0. |
| Name | Type | Description |
|---|---|---|
| cluster๐น | aws_rds.DatabaseCluster |
|
| title๐น | string |
|
| watchful๐น | IWatchful |
|
| cpuMaximumThresholdPercent?๐น | number |
Threshold for the Cpu Maximum utilization. Default: 80 |
| dbBufferCacheMinimumThreshold?๐น | number |
Threshold for the Minimum Db Buffer Cache. Default: 0. |
| dbConnectionsMaximumThreshold?๐น | number |
Threshold for the Maximum Db Connections. Default: 0. |
| dbReplicaLagMaximumThreshold?๐น | number |
Threshold for the Maximum Db ReplicaLag. Default: 0. |
| dbThroughputMaximumThreshold?๐น | number |
Threshold for the Maximum Db Throughput. Default: 0. |
| Name | Type | Description |
|---|---|---|
| metricFailedThreshold?๐น | number |
Alarm when execution failures reach this threshold over 1 minute. Default: 1 any execution failure will trigger the alarm |
| Name | Type | Description |
|---|---|---|
| stateMachine๐น | aws_stepfunctions.StateMachine |
|
| title๐น | string |
|
| watchful๐น | IWatchful |
|
| metricFailedThreshold?๐น | number |
Alarm when execution failures reach this threshold over 1 minute. Default: 1 any execution failure will trigger the alarm |
An operation (path and method) worth monitoring.
| Name | Type | Description |
|---|---|---|
| httpMethod๐น | string |
The HTTP method for the operation (GET, POST, ...). |
| resourcePath๐น | string |
The REST API path for this operation (/, /resource/{id}, ...). |
| Name | Type | Description |
|---|---|---|
| apiGateway?๐น | boolean |
Automatically watch API Gateway APIs in the scope. Default: true |
| dynamodb?๐น | boolean |
Automatically watch all Amazon DynamoDB tables in the scope. Default: true |
| ec2ecs?๐น | boolean |
Automatically watch ApplicationLoadBalanced EC2 Ecs Services in the scope (using ECS Pattern). Default: true |
| fargateecs?๐น | boolean |
Automatically watch ApplicationLoadBalanced Fargate Ecs Services in the scope (using ECS Pattern). Default: true |
| lambda?๐น | boolean |
Automatically watch AWS Lambda functions in the scope. Default: true |
| rdsaurora?๐น | boolean |
Automatically watch RDS Aurora clusters in the scope. Default: true |
| stateMachine?๐น | boolean |
Automatically watch AWS state machines in the scope. Default: true |
| Name | Type | Description |
|---|---|---|
| alarmActionArns?๐น | Array |
ARNs of actions to perform when alarms go off. Default: [] You can use alarmActions instead as a strongly-typed alternative. |
| alarmActions?๐น | Array<aws_cloudwatch.IAlarmAction> |
CloudWatch alarm actions to perform when alarms go off. Optional |
| alarmEmail?๐น | string |
Email address to send alarms to. Default: alarms are not sent to an email recipient. |
| alarmSns?๐น | aws_sns.ITopic |
SNS topic to send alarms to. Default: alarms are not sent to an SNS Topic. |
| alarmSqs?๐น | aws_sqs.IQueue |
SQS queue to send alarms to. Default: alarms are not sent to an SQS queue. |
| dashboard?๐น | boolean |
Whether to generate CloudWatch dashboards. Default: true |
| dashboardName?๐น | string |
The name of the CloudWatch dashboard generated by Watchful. Default: auto-generated |