EnableEnhancedMonitoring
Enables enhanced Kinesis data stream monitoring for shard-level metrics.
Note
When invoking this API, you must use either the StreamARN
or the
StreamName
parameter, or both. It is recommended that you use the
StreamARN
input parameter when you invoke this API.
Request Syntax
{
"ShardLevelMetrics": [ "string
" ],
"StreamARN": "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 Data Streams Service with Amazon CloudWatch in the Amazon Kinesis Data 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
-
- StreamARN
-
The ARN of the stream.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2048.
Pattern:
arn:aws.*:kinesis:.*:\d{12}:stream/\S+
Required: No
- 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: No
Response Syntax
{
"CurrentShardLevelMetrics": [ "string" ],
"DesiredShardLevelMetrics": [ "string" ],
"StreamARN": "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
- StreamARN
-
The ARN of the stream.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2048.
Pattern:
arn:aws.*:kinesis:.*:\d{12}:stream/\S+
- StreamName
-
The name of the Kinesis data 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.
- AccessDeniedException
-
Specifies that you do not have the permissions required to perform this operation.
HTTP Status Code: 400
- 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.
HTTP Status Code: 400
- ResourceInUseException
-
The resource is not available for this operation. For successful operation, the resource must 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
Examples
To enable enhanced monitoring
The following JSON example enables enhanced monitoring for
IncomingBytes
and OutgoingRecords
shard level
metrics.
Sample Request
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
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: