Ensure enhanced Amazon Kinesis stream monitoring for shard-level metrics is enabled in order to increase visibility into your streams performance. Kinesis is a platform for streaming data on Amazon Web Services that provides you with the ability to build and manage your own custom streaming data applications for specialized needs. A Kinesis stream is an ordered sequence of data records collected within a dedicated storage layer. The data records within a Kinesis stream is distributed into unique identified groups called shards.
This rule can help you with the following compliance standards:
- NIST4
For further details on compliance standards supported by Conformity, see here.
This rule can help you work with the AWS Well-Architected Framework.
This rule resolution is part of the Conformity Security & Compliance tool for AWS.
efficiency
optimisation
You can gain better insight into your AWS Kinesis streams usage (i.e. distribution of data throughput) by enabling shard-level metrics such as IncomingBytes and IncomingRecords – helpful metrics that identify which shard is receiving more data within a stream, WriteProvisionedThroughputExceeded – metric that determines if the writes are throttled within a stream shard over a specified period of time, ReadProvisionedThroughputExceeded – metric that returns the number of GetRecords calls throttled within a shard over a specified time frame, etc.
Audit
To determine if shard-level metrics are enabled for your Amazon Kinesis streams, perform the following:
Remediation / Resolution
To enable enhanced monitoring for your Amazon Kinesis streams using shard-level metrics, perform the following:
References
- AWS Documentation
- Amazon Kinesis Documentation
- Amazon Kinesis Streams Key Concepts
- Kinesis Streams
- Monitoring the Amazon Kinesis Streams Service with Amazon CloudWatch
- EnableEnhancedMonitoring
- Amazon Kinesis Streams Metrics and Dimensions
- AWS Command Line Interface (CLI) Documentation
- kinesis
- list-streams
- describe-stream
- enable-enhanced-monitoring