Skip to content

Latest commit

 

History

History
735 lines (391 loc) · 29.2 KB

API.md

File metadata and controls

735 lines (391 loc) · 29.2 KB

API Reference

Classes

Name Description
WatchApiGateway No description
WatchDynamoTable No description
WatchEcsService No description
WatchLambdaFunction No description
WatchRdsAurora 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
WatchedOperation An operation (path and method) worth monitoring.
WatchfulAspectProps No description
WatchfulProps No description

Interfaces

Name Description
IWatchful No description

class WatchApiGateway

Implements: IConstruct, IConstruct, IConstruct, IDependable Extends: Construct

Initializer

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 (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.

class WatchDynamoTable

Implements: IConstruct, IConstruct, IConstruct, IDependable Extends: Construct

Initializer

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 (Table) No description
    • title (string) No description
    • watchful (IWatchful) No description

class WatchEcsService

Implements: IConstruct, IConstruct, IConstruct, IDependable Extends: Construct

Initializer

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.
    • requestsThreshold (number) Threshold for the Number of Requests. Default: 0.
    • targetResponseTimeThreshold (number) Threshold for the Target Response Time. Default: 0.
    • targetGroup (ApplicationTargetGroup) No description
    • title (string) No description
    • watchful (IWatchful) No description
    • ec2Service (Ec2Service) No description Optional
    • fargateService (FargateService) No description Optional

class WatchLambdaFunction

Implements: IConstruct, IConstruct, IConstruct, IDependable Extends: Construct

Initializer

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 (Function) No description
    • title (string) No description
    • watchful (IWatchful) No description

class WatchRdsAurora

Implements: IConstruct, IConstruct, IConstruct, IDependable Extends: Construct

Initializer

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 (DatabaseCluster) No description
    • title (string) No description
    • watchful (IWatchful) No description

class Watchful

Implements: IConstruct, IConstruct, IConstruct, IDependable, IWatchful Extends: Construct

Initializer

new Watchful(scope: Construct, id: string, props?: WatchfulProps)
  • scope (Construct) No description
  • id (string) No description
  • props (WatchfulProps) No description
    • alarmEmail (string) No description Optional
    • alarmSns (ITopic) No description Optional
    • alarmSqs (IQueue) No description Optional

Methods

addAlarm(alarm)

addAlarm(alarm: Alarm): void
  • alarm (Alarm) No description

addSection(title, options?)

addSection(title: string, options?: SectionOptions): void
  • title (string) No description
  • options (SectionOptions) No description
    • links (Array<QuickLink>) No description Optional

addWidgets(...widgets)

addWidgets(...widgets: IWidget[]): void

watchApiGateway(title, restApi, options?)

watchApiGateway(title: string, restApi: RestApi, options?: WatchApiGatewayOptions): WatchApiGateway
  • title (string) No description
  • restApi (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.

Returns:

watchDynamoTable(title, table, options?)

watchDynamoTable(title: string, table: Table, options?: WatchDynamoTableOptions): WatchDynamoTable
  • title (string) No description
  • table (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

Returns:

watchEc2Ecs(title, ec2Service, targetGroup, options?)

watchEc2Ecs(title: string, ec2Service: Ec2Service, targetGroup: ApplicationTargetGroup, options?: WatchEcsServiceOptions): WatchEcsService
  • title (string) No description
  • ec2Service (Ec2Service) No description
  • targetGroup (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.
    • requestsThreshold (number) Threshold for the Number of Requests. Default: 0.
    • targetResponseTimeThreshold (number) Threshold for the Target Response Time. Default: 0.

Returns:

watchFargateEcs(title, fargateService, targetGroup, options?)

watchFargateEcs(title: string, fargateService: FargateService, targetGroup: ApplicationTargetGroup, options?: WatchEcsServiceOptions): WatchEcsService
  • title (string) No description
  • fargateService (FargateService) No description
  • targetGroup (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.
    • requestsThreshold (number) Threshold for the Number of Requests. Default: 0.
    • targetResponseTimeThreshold (number) Threshold for the Target Response Time. Default: 0.

Returns:

watchLambdaFunction(title, fn, options?)

watchLambdaFunction(title: string, fn: Function, options?: WatchLambdaFunctionOptions): WatchLambdaFunction
  • title (string) No description
  • fn (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

Returns:

watchRdsAuroraCluster(title, cluster, options?)

watchRdsAuroraCluster(title: string, cluster: DatabaseCluster, options?: WatchRdsAuroraOptions): WatchRdsAurora
  • title (string) No description
  • cluster (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.

Returns:

watchScope(scope, options?)

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

class WatchfulAspect

A CDK aspect that can automatically watch all resources within a scope.

Implements: IAspect

Initializer

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

Methods

visit(node)

All aspects can visit an IConstruct.

visit(node: IConstruct): void

interface IWatchful

Implemented by: Watchful

Methods

addAlarm(alarm)

addAlarm(alarm: Alarm): void
  • alarm (Alarm) No description

addSection(title, options?)

addSection(title: string, options?: SectionOptions): void
  • title (string) No description
  • options (SectionOptions) No description
    • links (Array<QuickLink>) No description Optional

addWidgets(...widgets)

addWidgets(...widgets: IWidget[]): void

struct QuickLink

Name Type Description
title string
url string

struct SectionOptions

Name Type Description
links? Array<QuickLink> Optional

struct WatchApiGatewayOptions

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.

struct WatchApiGatewayProps

Name Type Description
restApi 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.

struct WatchDynamoTableOptions

Name Type Description
readCapacityThresholdPercent? number Threshold for read capacity alarm (percentage).
Default: 80
writeCapacityThresholdPercent? number Threshold for read capacity alarm (percentage).
Default: 80

struct WatchDynamoTableProps

Name Type Description
table 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

struct WatchEcsServiceOptions

Name Type Description
cpuMaximumThresholdPercent? number Threshold for the Cpu Maximum utilization.
Default: 80
memoryMaximumThresholdPercent? number Threshold for the Memory Maximum utilization.
Default: 0.
requestsThreshold? number Threshold for the Number of Requests.
Default: 0.
targetResponseTimeThreshold? number Threshold for the Target Response Time.
Default: 0.

struct WatchEcsServiceProps

Name Type Description
targetGroup ApplicationTargetGroup
title string
watchful IWatchful
cpuMaximumThresholdPercent? number Threshold for the Cpu Maximum utilization.
Default: 80
ec2Service? Ec2Service Optional
fargateService? FargateService Optional
memoryMaximumThresholdPercent? number Threshold for the Memory Maximum utilization.
Default: 0.
requestsThreshold? number Threshold for the Number of Requests.
Default: 0.
targetResponseTimeThreshold? number Threshold for the Target Response Time.
Default: 0.

struct WatchLambdaFunctionOptions

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

struct WatchLambdaFunctionProps

Name Type Description
fn 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

struct WatchRdsAuroraOptions

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.

struct WatchRdsAuroraProps

Name Type Description
cluster 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.

struct WatchedOperation

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}, ...).

struct WatchfulAspectProps

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

struct WatchfulProps

Name Type Description
alarmEmail? string Optional
alarmSns? ITopic Optional
alarmSqs? IQueue Optional