Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability.
DynamoDB Table Resource Information:
- Type of Resource: Generic monitorable resource
- Discovery type: AWS SDK discovery type
- Discovery profile selection: Resource can be discovered by “DynamoDB” in the profiler
- ResourceTag: DYNAMO_DB
- Resource Unique Identification: regionName+tableName (regionName+"_"+tableName)
- Dependencies: DynamoDB may integrate with Lambda functions, streams, and backup configurations
Global Secondary Index Resource Information:
- Type of Resource: Generic monitorable resource
- Discovery type: AWS SDK discovery type
- Discovery profile selection: Resource can be discovered by “Global Secondary Index” in the profiler
- ResourceTag: GLOBAL_SECONDARY_INDEX
- Resource Unique Identification: dbName+"/"+secondaryIndexInstanceName (dbName + “/” + secondaryIndex.getInstanceName())
- Dependencies: Global Secondary Index runs on DynamoDB tables and provides additional query capabilities
DynamoDB features include:
- Administrative offloading, which reduces the burden of operating and scaling a distributed database and hardware provisioning, setup, configuration, replication, software patching, or cluster scaling.
- Encryption at rest, which eliminates the operational burden and complexity involved in protecting sensitive data.
Use the AWS public cloud integration to discover and collect metrics against the AWS service.
Setup
To set up the AWS integration and discover the DynamoDB, do the following:
- Create an AWS Integration if not available in your installed integrations. For more information on installing the AWS Integration, refer to Installation and Configuration.
- Create a discovery profile.
- Select
DynamoDBin the AWS Integration Discovery Profile. - Save the discovery profile to make it available in the list of Discovery Profiles.
- Scan to discover the resources at any time independent of the predefined schedule.
- Once the scan is completed, you can view the DynamoDB resources under Infrastructure > Resources > AWS category.
Event support
CloudTrail event support
- Supported
- Configurable in OpsRamp AWS Integration Discovery Profile.
CloudWatch alarm support
- Supported
- Configurable in OpsRamp AWS Integration Discovery Profile.
Supported metrics
Standard metrics
| OpsRamp Metric | AWS Metric | Metric Display Name | Unit | Aggregation Type | Description |
|---|---|---|---|---|---|
| aws_dynamodb_AgeOfOldestUnreplicatedRecord | AgeOfOldestUnreplicatedRecord | Age Of Oldest Unreplicated Record | Milliseconds | Average | The elapsed time since a record yet to be replicated to the Kinesis data stream first appeared in the DynamoDB table. |
| aws_dynamodb_ConditionalCheckFailedRequests | ConditionalCheckFailedRequests | Conditional Check Failed Requests | Count | Average | The number of failed attempts to perform conditional writes. |
| aws_dynamodb_ConsumedChangeDataCaptureUnits | ConsumedChangeDataCaptureUnits | Consumed Change Data Capture Units | Count | Average | The number of consumed change data capture units. |
| aws_dynamodb_ConsumedReadCapacityUnits | ConsumedReadCapacityUnits | Consumed Read Capacity Units | Count | Average | The number of read capacity units consumed over the specified time period for both provisioned and on-demand capacity |
| aws_dynamodb_ConsumedWriteCapacityUnits | ConsumedWriteCapacityUnits | Consumed Write Capacity Units | Count | Average | The number of write capacity units consumed over the specified time period for both provisioned and on-demand capacity |
| aws_dynamodb_FailedToReplicateRecordCount | FailedToReplicateRecordCount | Failed To Replicate Record Count | Count | Sum | The number of records that DynamoDB failed to replicate to your Kinesis data stream. |
| aws_dynamodb_OnDemandMaxReadRequestUnits | OnDemandMaxReadRequestUnits | On Demand Max Read Request Units | Count | Maximum | The number of specified on-demand read request units for a table or a global secondary index. |
| aws_dynamodb_OnDemandMaxWriteRequestUnits | OnDemandMaxWriteRequestUnits | On Demand Max Write Request Units | Count | Maximum | The number of specified on-demand write request units for a table or a global secondary index. |
| aws_dynamodb_OnlineIndexConsumedWriteCapacity | OnlineIndexConsumedWriteCapacity | Online Index Consumed Write Capacity | Count | Average | This metric is expected to show 0 during index builds. This metric previously showed the number of write capacity units consumed when adding a new global secondary index to a table. |
| aws_dynamodb_OnlineIndexPercentageProgress | OnlineIndexPercentageProgress | Online Index Percentage Progress | Count | Average | The percentage of completion when a new global secondary index is being added to a table. DynamoDB must first allocate resources for the new index, and then backfill attributes from the table into the index. For large tables, this process might take a long time. |
| aws_dynamodb_OnlineIndexThrottleEvents | OnlineIndexThrottleEvents | Online Index Throttle Events | Count | Average | This metric is expected to show 0 during index builds. This metric previously showed the number of write throttle events that occur when adding a new global secondary index to a table. |
| aws_dynamodb_PendingReplicationCount | PendingReplicationCount | Pending Replication Count | Count | Average | Metric for Global tables version 2017.11.29 (Legacy). The number of item updates that are written to one replica table, but that have not yet been written to another replica in the global table. |
| aws_dynamodb_ProvisionedReadCapacityUnits | ProvisionedReadCapacityUnits | Provisioned Read Capacity Units | Count | Average | The number of provisioned read capacity units for a table or a global secondary index. |
| aws_dynamodb_ProvisionedWriteCapacityUnits | ProvisionedWriteCapacityUnits | Provisioned Write Capacity Units | Count | Average | The number of provisioned write capacity units for a table or a global secondary index. |
| aws_dynamodb_ReadAccountLimitThrottleEvents | ReadAccountLimitThrottleEvents | Read Account Limit Throttle Events | Count | Sum | The number of read requests throttled due to account limits. |
| aws_dynamodb_ReadKeyRangeThroughputThrottleEvents | ReadKeyRangeThroughputThrottleEvents | Read Key Range Throughput Throttle Events | Count | Sum | The number of read requests throttled due to partition limits. |
| aws_dynamodb_ReadMaxOnDemandThroughputThrottleEvents | ReadMaxOnDemandThroughputThrottleEvents | Read Max On Demand Throughput Throttle Events | Count | Sum | The number of read requests throttled due to on-demand maximum throughput. |
| aws_dynamodb_ReadProvisionedThroughputThrottleEvents | ReadProvisionedThroughputThrottleEvents | Read Provisioned Throughput Throttle Events | Count | Sum | The number of read requests throttled due to provisioned throughput limits. |
| aws_dynamodb_ReadThrottleEvents | ReadThrottleEvents | Read Throttle Events | Count | Sum | Requests to DynamoDB that exceed the provisioned read capacity units for a table or a global secondary index. |
| aws_dynamodb_ReplicationLatency | ReplicationLatency | Replication Latency | Milliseconds | Average | This metric is for DynamoDB global tables. The elapsed time between an updated item appearing in the DynamoDB stream for one replica table, and that item appearing in another replica in the global table. |
| aws_dynamodb_ReturnedBytes | ReturnedBytes | Returned Bytes | Bytes | Average | The number of bytes returned by GetRecords operations (Amazon DynamoDB Streams) during the specified time period. |
| aws_dynamodb_ReturnedItemCount | ReturnedItemCount | Returned Item Count | Count | Average | The number of items returned by Query, Scan or ExecuteStatement operations during the specified time period. |
| aws_dynamodb_ReturnedRecordsCount | ReturnedRecordsCount | Returned Records Count | Count | Average | The number of stream records returned by GetRecords operations (Amazon DynamoDB Streams) during the specified time period. |
| aws_dynamodb_SuccessfulRequestLatency | SuccessfulRequestLatency | Successful Request Latency | Milliseconds | Average | The latency of successful requests to DynamoDB or Amazon DynamoDB Streams during the specified time period. |
| aws_dynamodb_SystemErrors | SystemErrors | System Errors | Count | Sum | The requests to DynamoDB or Amazon DynamoDB Streams that generate an HTTP 500 status code during the specified time period. An HTTP 500 usually indicates an internal service error. |
| aws_dynamodb_TimeToLiveDeletedItemCount | TimeToLiveDeletedItemCount | Time To Live Deleted Item Count | Count | Sum | The number of items deleted by Time to Live (TTL) during the specified time period. This metric helps you monitor the rate of TTL deletions on your table. |
| aws_dynamodb_ThrottledPutRecordCount | ThrottledPutRecordCount | Throttled Put Record Count | Count | Average | The number of records that were throttled by your Kinesis data stream due to insufficient Kinesis Data Streams capacity. |
| aws_dynamodb_ThrottledRequests | ThrottledRequests | Throttled Requests | Count | Sum | Requests to DynamoDB that exceed the provisioned throughput limits on a resource such as a table or an index. |
| aws_dynamodb_TransactionConflict | TransactionConflict | Transaction Conflict | Count | Average | Rejected item-level requests due to transactional conflicts between concurrent requests on the same items. |
| aws_dynamodb_UserErrors | UserErrors | User Errors | Count | Sum | Requests to DynamoDB or Amazon DynamoDB Streams that generate an HTTP 400 status code during the specified time period. |
| aws_dynamodb_WriteAccountLimitThrottleEvents | WriteAccountLimitThrottleEvents | Write Account Limit Throttle Events | Count | Sum | The number of write requests throttled due to account limits. |
| aws_dynamodb_WriteKeyRangeThroughputThrottleEvents | WriteKeyRangeThroughputThrottleEvents | Write Key Range Throughput Throttle Events | Count | Sum | The number of write requests throttled due to partition limits. |
| aws_dynamodb_WriteMaxOnDemandThroughputThrottleEvents | WriteMaxOnDemandThroughputThrottleEvents | Write Max On Demand Throughput Throttle Events | Count | Sum | The number of write requests throttled due to on-demand maximum throughput. |
| aws_dynamodb_WriteProvisionedThroughputThrottleEvents | WriteProvisionedThroughputThrottleEvents | Write Provisioned Throughput Throttle Events | Count | Sum | The number of write requests throttled due to provisioned throughput limits. |
| aws_dynamodb_WriteThrottleEvents | WriteThrottleEvents | Write Throttle Events | Count | Sum | Requests to DynamoDB that exceed the provisioned write capacity units for a table or a global secondary index. |
Global Secondary index metrics
| OpsRamp Metric | AWS Metric | Metric Display Name | Unit | Aggregation Type | Description |
|---|---|---|---|---|---|
| aws_dynamodb_ConsumedReadCapacityUnits | ConsumedReadCapacityUnits | Consumed Read Capacity Units | Count | Average | The number of read capacity units consumed over the specified time period for both provisioned and on-demand capacity |
| aws_dynamodb_ConsumedWriteCapacityUnits | ConsumedWriteCapacityUnits | Consumed Write Capacity Units | Count | Average | The number of write capacity units consumed over the specified time period for both provisioned and on-demand capacity |
| aws_dynamodb_OnDemandMaxReadRequestUnits | OnDemandMaxReadRequestUnits | On Demand Max Read Request Units | Count | Maximum | The number of specified on-demand read request units for a table or a global secondary index. |
| aws_dynamodb_OnDemandMaxWriteRequestUnits | OnDemandMaxWriteRequestUnits | On Demand Max Write Request Units | Count | Maximum | The number of specified on-demand write request units for a table or a global secondary index. |
| aws_dynamodb_OnlineIndexConsumedWriteCapacity | OnlineIndexConsumedWriteCapacity | Online Index Consumed Write Capacity | Count | Average | This metric is expected to show 0 during index builds. This metric previously showed the number of write capacity units consumed when adding a new global secondary index to a table. |
| aws_dynamodb_OnlineIndexPercentageProgress | OnlineIndexPercentageProgress | Online Index Percentage Progress | Count | Average | The percentage of completion when a new global secondary index is being added to a table. DynamoDB must first allocate resources for the new index, and then backfill attributes from the table into the index. For large tables, this process might take a long time. |
| aws_dynamodb_OnlineIndexThrottleEvents | OnlineIndexThrottleEvents | Online Index Throttle Events | Count | Average | This metric is expected to show 0 during index builds. This metric previously showed the number of write throttle events that occur when adding a new global secondary index to a table. |
| aws_dynamodb_ProvisionedReadCapacityUnits | ProvisionedReadCapacityUnits | Provisioned Read Capacity Units | Count | Average | The number of provisioned read capacity units for a table or a global secondary index. |
| aws_dynamodb_ProvisionedWriteCapacityUnits | ProvisionedWriteCapacityUnits | Provisioned Write Capacity Units | Count | Average | The number of provisioned write capacity units for a table or a global secondary index. |
| aws_dynamodb_ReadAccountLimitThrottleEvents | ReadAccountLimitThrottleEvents | Read Account Limit Throttle Events | Count | Sum | The number of read requests throttled due to account limits. |
| aws_dynamodb_ReadKeyRangeThroughputThrottleEvents | ReadKeyRangeThroughputThrottleEvents | Read Key Range Throughput Throttle Events | Count | Sum | The number of read requests throttled due to partition limits. |
| aws_dynamodb_ReadMaxOnDemandThroughputThrottleEvents | ReadMaxOnDemandThroughputThrottleEvents | Read Max On Demand Throughput Throttle Events | Count | Sum | The number of read requests throttled due to on-demand maximum throughput. |
| aws_dynamodb_ReadProvisionedThroughputThrottleEvents | ReadProvisionedThroughputThrottleEvents | Read Provisioned Throughput Throttle Events | Count | Sum | The number of read requests throttled due to provisioned throughput limits. |
| aws_dynamodb_ReadThrottleEvents | ReadThrottleEvents | Read Throttle Events | Count | Sum | Requests to DynamoDB that exceed the provisioned read capacity units for a table or a global secondary index. |
| aws_dynamodb_WriteKeyRangeThroughputThrottleEvents | WriteKeyRangeThroughputThrottleEvents | Write Key Range Throughput Throttle Events | Count | Sum | The number of write requests throttled due to partition limits. |
| aws_dynamodb_WriteMaxOnDemandThroughputThrottleEvents | WriteMaxOnDemandThroughputThrottleEvents | Write Max On Demand Throughput Throttle Events | Count | Sum | The number of write requests throttled due to on-demand maximum throughput. |
| aws_dynamodb_WriteProvisionedThroughputThrottleEvents | WriteProvisionedThroughputThrottleEvents | Write Provisioned Throughput Throttle Events | Count | Sum | The number of write requests throttled due to provisioned throughput limits. |
| aws_dynamodb_WriteThrottleEvents | WriteThrottleEvents | Write Throttle Events | Count | Sum | Requests to DynamoDB that exceed the provisioned write capacity units for a table or a global secondary index. |
Note: We will get below metrics on cloud provider not on DynamoDB resources.
| OpsRamp Metric | AWS Metric | Metric Display Name | Unit | Description | Aggregation Type |
|---|---|---|---|---|---|
| aws_dynamodb_MaxProvisionedTableReadCapacityUtilization | MaxProvisionedTableReadCapacityUtilization | Max Provisioned Table Read Capacity Utilization | Percent | The percentage of provisioned read capacity utilized by the highest provisioned read table or global secondary index of an account. | Maximum |
| aws_dynamodb_MaxProvisionedTableWriteCapacityUtilization | MaxProvisionedTableWriteCapacityUtilization | Max Provisioned Table Write Capacity Utilization | Percent | The percentage of provisioned write capacity utilized by the highest provisioned write table or global secondary index of an account. | Maximum |
| aws_dynamodb_AccountProvisionedReadCapacityUtilization | AccountProvisionedReadCapacityUtilization | Account Provisioned Read Capacity Utilization | Percent | The percentage of provisioned read capacity units utilized by an account. | Average |
| aws_dynamodb_AccountProvisionedWriteCapacityUtilization | AccountProvisionedWriteCapacityUtilization | Account Provisioned Write Capacity Utilization | Percent | The percentage of provisioned write capacity units utilized by an account. | Average |
| aws_dynamodb_AccountMaxReads | AccountMaxReads | Account Max Reads | Count | The maximum number of read capacity units that can be used by an account. This limit does not apply to on-demand tables or global secondary indexes. | Maximum |
| aws_dynamodb_AccountMaxTableLevelReads | AccountMaxTableLevelReads | Account Max Table Level Reads | Count | The maximum number of read capacity units that can be used by a table or global secondary index of an account. For on-demand tables this limit caps the maximum read request units a table or a global secondary index can use. | Maximum |
| aws_dynamodb_AccountMaxTableLevelWrites | AccountMaxTableLevelWrites | Account Max Table Level Writes | Count | The maximum number of write capacity units that can be used by a table or global secondary index of an account. For on-demand tables this limit caps the maximum write request units a table or a global secondary index can use. | Maximum |
| aws_dynamodb_AccountMaxWrites | AccountMaxWrites | Account Max Writes | Count | The maximum number of write capacity units that can be used by an account. This limit does not apply to on-demand tables or global secondary indexes. | Maximum |