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 usealarmActions
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
- 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 |