Menu
Amazon Kinesis Streams Service API Reference
API Reference (API Version 2013-12-02)

EnableEnhancedMonitoring

Enables enhanced Amazon Kinesis stream monitoring for shard-level metrics.

Request Syntax

Copy
{ "ShardLevelMetrics": [ "string" ], "StreamName": "string" }

Request Parameters

The request accepts the following data in JSON format.

ShardLevelMetrics

List of shard-level metrics to enable.

The following are the valid shard-level metrics. The value "ALL" enables every metric.

  • IncomingBytes

  • IncomingRecords

  • OutgoingBytes

  • OutgoingRecords

  • WriteProvisionedThroughputExceeded

  • ReadProvisionedThroughputExceeded

  • IteratorAgeMilliseconds

  • ALL

For more information, see Monitoring the Amazon Kinesis Streams Service with Amazon CloudWatch in the Amazon Kinesis Streams Developer Guide.

Type: Array of strings

Array Members: Minimum number of 1 item. Maximum number of 7 items.

Valid Values: IncomingBytes | IncomingRecords | OutgoingBytes | OutgoingRecords | WriteProvisionedThroughputExceeded | ReadProvisionedThroughputExceeded | IteratorAgeMilliseconds | ALL

Required: Yes

StreamName

The name of the stream for which to enable enhanced monitoring.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [a-zA-Z0-9_.-]+

Required: Yes

Response Syntax

Copy
{ "CurrentShardLevelMetrics": [ "string" ], "DesiredShardLevelMetrics": [ "string" ], "StreamName": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

CurrentShardLevelMetrics

Represents the current state of the metrics that are in the enhanced state before the operation.

Type: Array of strings

Array Members: Minimum number of 1 item. Maximum number of 7 items.

Valid Values: IncomingBytes | IncomingRecords | OutgoingBytes | OutgoingRecords | WriteProvisionedThroughputExceeded | ReadProvisionedThroughputExceeded | IteratorAgeMilliseconds | ALL

DesiredShardLevelMetrics

Represents the list of all the metrics that would be in the enhanced state after the operation.

Type: Array of strings

Array Members: Minimum number of 1 item. Maximum number of 7 items.

Valid Values: IncomingBytes | IncomingRecords | OutgoingBytes | OutgoingRecords | WriteProvisionedThroughputExceeded | ReadProvisionedThroughputExceeded | IteratorAgeMilliseconds | ALL

StreamName

The name of the Amazon Kinesis stream.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [a-zA-Z0-9_.-]+

Errors

For information about the errors that are common to all actions, see Common Errors.

InvalidArgumentException

A specified parameter exceeds its restrictions, is not supported, or can't be used. For more information, see the returned message.

HTTP Status Code: 400

LimitExceededException

The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed (5).

HTTP Status Code: 400

ResourceInUseException

The resource is not available for this operation. For successful operation, the resource needs to be in the ACTIVE state.

HTTP Status Code: 400

ResourceNotFoundException

The requested resource could not be found. The stream might not be specified correctly.

HTTP Status Code: 400

Example

To enable enhanced monitoring

The following JSON example enables enhanced monitoring for IncomingBytes and OutgoingRecords shard level metrics.

Sample Request

Copy
POST / HTTP/1.1 Host: kinesis.<region>.<domain> Content-Length: <PayloadSizeBytes> User-Agent: <UserAgentString> Content-Type: application/x-amz-json-1.1 Authorization: <AuthParams> Connection: Keep-Alive X-Amz-Date: <Date> X-Amz-Target: Kinesis_20131202.EnableEnhancedMonitoring { "ShardLevelMetrics": [ "IncomingBytes", "OutgoingRecords" ], "StreamName": "exampleStreamName" }

Sample Response

Copy
HTTP/1.1 200 OK x-amzn-RequestId: <RequestId> Content-Type: application/x-amz-json-1.1 Content-Length: <PayloadSizeBytes> Date: <Date> { "StreamName": "exampleStreamName", "CurrentShardLevelMetrics": [], "DesiredShardLevelMetrics": [ "IncomingBytes", "OutgoingRecords" ] }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: