Skip to content

Commit e0d0d0f

Browse files
author
Eugene Cheung
authored
chore: cleanup README contents (#32)
Partially addresses #26
1 parent 76d1a26 commit e0d0d0f

File tree

1 file changed

+48
-104
lines changed

1 file changed

+48
-104
lines changed

README.md

Lines changed: 48 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Easy-to-use CDK constructs for monitoring your AWS infrastructure.
2020

2121
### TypeScript (NPM)
2222

23-
> Repository: https://www.npmjs.com/package/cdk-monitoring-constructs
23+
> https://www.npmjs.com/package/cdk-monitoring-constructs
2424
2525
Add the dependency to your `package.json`:
2626

@@ -38,9 +38,11 @@ Add the dependency to your `package.json`:
3838
}
3939
```
4040

41-
### Java (Maven)
41+
### Java
4242

43-
> Repository: https://mvnrepository.com/artifact/io.github.cdklabs/cdkmonitoringconstructs
43+
> https://mvnrepository.com/artifact/io.github.cdklabs/cdkmonitoringconstructs
44+
45+
#### Maven
4446

4547
Add the following Maven project to your `pom.xml`:
4648

@@ -52,124 +54,66 @@ Add the following Maven project to your `pom.xml`:
5254
</dependency>
5355
```
5456

57+
#### Gradle
58+
59+
```kotlin
60+
implementation("io.github.cdklabs:cdkmonitoringconstructs:0.0.11")
61+
```
62+
5563
### Python (PyPi)
5664

57-
> Repository: https://pypi.org/project/cdk-monitoring-constructs/
65+
> https://pypi.org/project/cdk-monitoring-constructs/
5866
5967
TODO: describe usage
6068

6169
### C# (Nuget)
6270

63-
> Repository: https://www.nuget.org/packages/Cdklabs.CdkMonitoringConstructs/
71+
> https://www.nuget.org/packages/Cdklabs.CdkMonitoringConstructs/
6472
6573
TODO: describe usage
6674

67-
## Documentation
75+
## Features
6876

6977
See [API](API.md) for complete auto-generated documentation.
7078

79+
You can also browse the documentation at https://constructs.dev/packages/cdk-monitoring-constructs/
80+
81+
| Item | Monitoring | Alarms | Notes |
82+
| ---- | ---------- | ------ | ----- |
83+
| AWS API Gateway (REST API) (`.monitorApiGateway()`) | TPS, latency, errors | Latency, error count/rate | To see metrics, you have to enable Advanced Monitoring |
84+
| AWS API Gateway V2 (HTTP API) (`.monitorApiGatewayV2HttpApi()`) | TPS, latency, errors | Latency, error count/rate | To see route level metrics, you have to enable Advanced Monitoring|
85+
| AWS AppSync (GraphQL API) (`.monitorAppSyncApi()`) | TPS, latency, errors | Latency, error count/rate, low/high TPS | |
86+
| AWS Billing (`.monitorBilling()`) | AWS account cost | | [Requires enabling](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/gs_monitor_estimated_charges_with_cloudwatch.html#gs_turning_on_billing_metrics) the **Receive Billing Alerts** option in AWS Console / Billing Preferences |
87+
| AWS Certificate Manager (`.monitorCertificate()`) | Certificate expiration | Days until expiration | |
88+
| AWS CloudFront (`.monitorCloudFrontDistribution()`) | TPS, traffic, latency, errors | | |
89+
| AWS CodeBuild (`.monitorCodeBuildProject()`) | Build counts (total, successful, failed), failed rate, duration | Failed build count/rate, duration | |
90+
| AWS DynamoDB (`.monitorDynamoTable()`) | Read and write capacity provisioned / used | Consumed capacity, throttling, latency, errors | |
91+
| AWS DynamoDB Global Secondary Index (`.monitorDynamoTableGlobalSecondaryIndex()`) | Read and write capacity, indexing progress, throttled events | | |
92+
| AWS EC2 (`.monitorEC2Instances()`) | CPU, disk operations, network | | |
93+
| AWS EC2 Auto Scaling Groups (`.monitorAutoScalingGroup()`) | Group size, instance status | | |
94+
| AWS ECS (`.monitorFargateService()`, `.monitorEc2Service()`, `.monitorSimpleFargateService()`, `monitorSimpleEc2Service()`, `.monitorQueueProcessingFargateService()`, `.monitorQueueProcessingEc2Service()`) | System resources and task health | Unhealthy task count, running tasks count, CPU/memory usage, and bytes processed by load balancer (if any) | Use for ecs-patterns load balanced ec2/fargate constructs (NetworkLoadBalancedEc2Service, NetworkLoadBalancedFargateService, ApplicationLoadBalancedEc2Service, ApplicationLoadBalancedFargateService) |
95+
| AWS ElastiCache (`.monitorElastiCacheCluster()`) | CPU/memory usage, evictions and connections | | |
96+
| AWS Glue (`.monitorGlueJob()`) | Traffic, job status, memory/CPU usage | | |
97+
| AWS Kinesis Data Analytics (`.monitorKinesisDataAnalytics`) | Up/Downtime, CPU/memory usage, KPU usage, checkpoint metrics, and garbage collection metrics | Downtime | |
98+
| AWS Kinesis Data Stream (`.monitorKinesisDataStream()`) | Put/Get/Incoming Record/s and Throttling | Iterator max age | |
99+
| AWS Kinesis Firehose (`.monitorKinesisFirehose()`) | Number of records, requests, latency | | |
100+
| AWS Lambda (`.monitorLambdaFunction()`) | Latency, errors, iterator max age | Latency, errors, throttles, iterator max age | Optional Lambda Insights metrics (opt-in) support |
101+
| AWS Load Balancing (`.monitorNetworkLoadBalancer()`, `.monitorFargateApplicationLoadBalancer()`, `.monitorFargateNetworkLoadBalancer()`, `.monitorEc2ApplicationLoadBalancer()`, `.monitorEc2NetworkLoadBalancer()`) | System resources and task health | Unhealthy task count, running tasks count, (for Fargate/Ec2 apps) CPU/memory usage | Use for FargateService or Ec2Service backed by a NetworkLoadBalancer or ApplicationLoadBalancer |
102+
| AWS OpenSearch/Elasticsearch (`.monitorOpenSearchCluster()`, `.monitorElasticsearchCluster()`) | Indexing and search latency, disk/memory/CPU usage | Indexing and search latency, disk/memory/CPU usage, cluster status | |
103+
| AWS RDS (`.monitorRdsCluster()`) | Query duration, connections, latency, disk/CPU usage | Disk and CPU usage | |
104+
| AWS Redshift (`.monitorRedshiftCluster()`) | Query duration, connections, latency, disk/CPU usage | Disk and CPU usage | |
105+
| AWS S3 Bucket (`.monitorS3Bucket()`) | Bucket size and number of objects | | |
106+
| AWS SecretsManager (`.monitorSecretsManagerSecret()`) | Days since last rotation | Days since last rotation | Requires the `@aws-cdk/aws-secretsmanager:parseOwnedSecretName` [feature flag](https://docs.aws.amazon.com/cdk/latest/guide/featureflags.html) |
107+
| AWS SNS Topic (`.monitorSnsTopic()`) | Message count, size, failed notifications | Failed notifications | |
108+
| AWS SQS Queue (`.monitorSqsQueue()`, `.monitorSqsQueueWithDlq()`) | Message count, age, size | Message count, age, DLQ incoming messages | |
109+
| AWS Step Functions (`.monitorStepFunction()`, `.monitorStepFunctionActivity()`, `monitorStepFunctionLambdaIntegration()`, `.monitorStepFunctionServiceIntegration()`) | Execution count and breakdown per state | Duration, failed, failed rate, aborted, throttled, timed out executions | |
110+
| CloudWatch Logs (`.monitorLog()`) | Patterns present in the log group | | |
111+
| Custom metrics (`.monitorCustom()`) | Addition of custom metrics into the dashboard (each group is a widget) | | Supports anomaly detection |
112+
71113
## Contributing/Security
72114

73115
See [CONTRIBUTING](CONTRIBUTING.md) for more information.
74116

75-
## Features
76-
77-
- AWS API Gateway (REST API) (`.monitorApiGateway()`)
78-
- **To see metrics, you have to enable Advanced Monitoring**
79-
- monitoring of TPS, latency, errors
80-
- alarm on latency, error count/rate
81-
- AWS API Gateway V2 (HTTP API) (`.monitorApiGatewayV2HttpApi()`)
82-
- **To see route level metrics, you have to enable Advanced Monitoring**
83-
- monitoring of TPS, latency, errors
84-
- alarm on latency, error count/rate
85-
- AWS AppSync (GraphQL API) (`.monitorAppSyncApi()`)
86-
- monitoring of TPS, latency, errors
87-
- alarm on latency, error count/rate, low/high TPS
88-
- AWS Certificate Manager (`.monitorCertificate()`)
89-
- monitoring of certificate expiration
90-
- alarm on days until expiration
91-
- AWS CloudFront (`.monitorCloudFrontDistribution()`)
92-
- monitoring of TPS, traffic, latency, errors
93-
- no alarms supported yet
94-
- AWS CodeBuild (`.monitorCodeBuildProject()`)
95-
- monitoring of build counts (total, successful, failed), failed rate, duration
96-
- alarm on failed build count/rate, duration
97-
- AWS DynamoDB (`.monitorDynamoTable()`)
98-
- monitoring of read and write capacity provisioned / used
99-
- alarm on consumed capacity, throttling, latency, errors
100-
- AWS DynamoDB Global Secondary Index (`.monitorDynamoTableGlobalSecondaryIndex()`)
101-
- monitoring of read and write capacity, indexing progress, throttled events
102-
- no alarm support yet
103-
- AWS EC2 (`.monitorEC2Instances()`)
104-
- monitoring of CPU, disk operations, network
105-
- no alarms supported yet
106-
- AWS EC2 Auto Scaling Groups (`.monitorAutoScalingGroup()`)
107-
- monitoring of group size, instance status
108-
- no alarms supported yet
109-
- AWS ECS (`.monitorFargateService()`, `.monitorEc2Service()`, `.monitorSimpleFargateService()`, `monitorSimpleEc2Service()`, `.monitorQueueProcessingFargateService()`, `.monitorQueueProcessingEc2Service()`)
110-
- monitoring of system resources and task health
111-
- alarm on unhealthy task count, running tasks count, CPU/memory usage, and bytes processed by load balancer (if any)
112-
- use for ecs-patterns load balanced ec2/fargate constructs (NetworkLoadBalancedEc2Service, NetworkLoadBalancedFargateService, ApplicationLoadBalancedEc2Service, ApplicationLoadBalancedFargateService)
113-
- AWS ElastiCache (`.monitorElastiCacheCluster()`)
114-
- monitoring of CPU/memory usage, evictions and connections
115-
- no alarms supported yet
116-
- AWS Glue (`.monitorGlueJob()`)
117-
- monitoring of traffic, job status, memory/CPU usage
118-
- no alarms supported yet
119-
- AWS Kinesis Data Analytics (`.monitorKinesisDataAnalytics`)
120-
- monitoring of Up/Downtime, CPU/memory usage, KPU usage, checkpoint metrics, and garbage collection metrics
121-
- alarm on downtime
122-
- AWS Kinesis Data Stream (`.monitorKinesisDataStream()`)
123-
- monitoring of Put/Get/Incoming Record/s and Throttling
124-
- alarm on iterator max age
125-
- AWS Kinesis Firehose (`.monitorKinesisFirehose()`)
126-
- monitoring of number of records, requests, latency
127-
- no alarms supported yet
128-
- AWS Lambda (`.monitorLambdaFunction()`)
129-
- monitoring of latency, errors, iterator max age
130-
- alarm on latency, errors, throttles, iterator max age
131-
- monitoring of Lambda Insights metrics (opt-in)
132-
- AWS Load Balancing (`.monitorNetworkLoadBalancer()`, `.monitorFargateApplicationLoadBalancer()`, `.monitorFargateNetworkLoadBalancer()`, `.monitorEc2ApplicationLoadBalancer()`, `.monitorEc2NetworkLoadBalancer()`)
133-
- monitoring of system resources and task health
134-
- alarm on unhealthy task count, running tasks count, (for Fargate/Ec2 apps) CPU/memory usage
135-
- use for FargateService or Ec2Service backed by a NetworkLoadBalancer or ApplicationLoadBalancer.
136-
- AWS OpenSearch/Elasticsearch (`.monitorOpenSearchCluster()`/`.monitorElasticsearchCluster()`)
137-
- monitoring of indexing and search latency, disk/memory/CPU usage
138-
- alarm on indexing and search latency, disk/memory/CPU usage, cluster status
139-
- AWS RDS (`.monitorRdsCluster()`)
140-
- monitoring of query duration, connections, latency, disk/CPU usage
141-
- alarm on disk and CPU usage
142-
- AWS Redshift (`.monitorRedshiftCluster()`)
143-
- monitoring of query duration, connections, latency, disk/CPU usage
144-
- alarm on disk and CPU usage
145-
- AWS S3 Bucket (`.monitorS3Bucket()`)
146-
- monitoring of bucket size and number of objects
147-
- no alarms supported yet
148-
- AWS SecretsManager (`.monitorSecretsManagerSecret()`)
149-
- monitoring of days since last rotation
150-
- alarm on days since last rotation
151-
- requires the `@aws-cdk/aws-secretsmanager:parseOwnedSecretName` [feature flag](https://docs.aws.amazon.com/cdk/latest/guide/featureflags.html)
152-
- AWS SNS Topic (`.monitorSnsTopic()`)
153-
- monitoring of message count, size, failed notifications
154-
- alarm on failed notifications
155-
- AWS SQS Queue (`.monitorSqsQueue()`, `.monitorSqsQueueWithDlq()`)
156-
- monitoring of message count, age, size
157-
- alarm on message count, age
158-
- the same alarms for dead letter queue (DLQ)
159-
- DLQ alarm on incoming messages
160-
- AWS Step Functions (`.monitorStepFunction()`, `.monitorStepFunctionActivity()`,
161-
`.monitorStepFunctionLambdaIntegration()`, `.monitorStepFunctionServiceIntegration()`)
162-
- monitoring of execution count and breakdown per state
163-
- alarms on duration, failed, failed rate, aborted, throttled, timed out executions
164-
- AWS Billing (`.monitorBilling()`)
165-
- monitoring AWS account cost ([you need to enable](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/gs_monitor_estimated_charges_with_cloudwatch.html#gs_turning_on_billing_metrics) the **Receive Billing Alerts** option in AWS Console / Billing Preferences)
166-
- no alarms support yet
167-
- CloudWatch Logs (`.monitorLog()`)
168-
- monitoring of patterns present in the log group
169-
- Custom metrics (`.monitorCustom()`)
170-
- simple addition of custom metrics into the dashboard (each group is a widget)
171-
- supports anomaly detection
172-
173117
## License
174118

175119
This project is licensed under the Apache-2.0 License.

0 commit comments

Comments
 (0)