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:

  1. Create an AWS Integration if not available in your installed integrations. For more information on installing the AWS Integration, refer to Installation and Configuration.
  2. Create a discovery profile.
  3. Select DynamoDB in the AWS Integration Discovery Profile.
  4. Save the discovery profile to make it available in the list of Discovery Profiles.
  5. Scan to discover the resources at any time independent of the predefined schedule.
  6. 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 MetricAWS MetricMetric Display NameUnitAggregation TypeDescription
aws_dynamodb_AgeOfOldestUnreplicatedRecordAgeOfOldestUnreplicatedRecordAge Of Oldest Unreplicated RecordMillisecondsAverageThe elapsed time since a record yet to be replicated to the Kinesis data stream first appeared in the DynamoDB table.
aws_dynamodb_ConditionalCheckFailedRequestsConditionalCheckFailedRequestsConditional Check Failed RequestsCountAverageThe number of failed attempts to perform conditional writes.
aws_dynamodb_ConsumedChangeDataCaptureUnitsConsumedChangeDataCaptureUnitsConsumed Change Data Capture UnitsCountAverageThe number of consumed change data capture units.
aws_dynamodb_ConsumedReadCapacityUnitsConsumedReadCapacityUnitsConsumed Read Capacity UnitsCountAverageThe number of read capacity units consumed over the specified time period for both provisioned and on-demand capacity
aws_dynamodb_ConsumedWriteCapacityUnitsConsumedWriteCapacityUnitsConsumed Write Capacity UnitsCountAverageThe number of write capacity units consumed over the specified time period for both provisioned and on-demand capacity
aws_dynamodb_FailedToReplicateRecordCountFailedToReplicateRecordCountFailed To Replicate Record CountCountSumThe number of records that DynamoDB failed to replicate to your Kinesis data stream.
aws_dynamodb_OnDemandMaxReadRequestUnitsOnDemandMaxReadRequestUnitsOn Demand Max Read Request UnitsCountMaximumThe number of specified on-demand read request units for a table or a global secondary index.
aws_dynamodb_OnDemandMaxWriteRequestUnitsOnDemandMaxWriteRequestUnitsOn Demand Max Write Request UnitsCountMaximumThe number of specified on-demand write request units for a table or a global secondary index.
aws_dynamodb_OnlineIndexConsumedWriteCapacityOnlineIndexConsumedWriteCapacityOnline Index Consumed Write CapacityCountAverageThis 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_OnlineIndexPercentageProgressOnlineIndexPercentageProgressOnline Index Percentage ProgressCountAverageThe 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_OnlineIndexThrottleEventsOnlineIndexThrottleEventsOnline Index Throttle EventsCountAverageThis 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_PendingReplicationCountPendingReplicationCountPending Replication CountCountAverageMetric 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_ProvisionedReadCapacityUnitsProvisionedReadCapacityUnitsProvisioned Read Capacity UnitsCountAverageThe number of provisioned read capacity units for a table or a global secondary index.
aws_dynamodb_ProvisionedWriteCapacityUnitsProvisionedWriteCapacityUnitsProvisioned Write Capacity UnitsCountAverageThe number of provisioned write capacity units for a table or a global secondary index.
aws_dynamodb_ReadAccountLimitThrottleEventsReadAccountLimitThrottleEventsRead Account Limit Throttle EventsCountSumThe number of read requests throttled due to account limits.
aws_dynamodb_ReadKeyRangeThroughputThrottleEventsReadKeyRangeThroughputThrottleEventsRead Key Range Throughput Throttle EventsCountSumThe number of read requests throttled due to partition limits.
aws_dynamodb_ReadMaxOnDemandThroughputThrottleEventsReadMaxOnDemandThroughputThrottleEventsRead Max On Demand Throughput Throttle EventsCountSumThe number of read requests throttled due to on-demand maximum throughput.
aws_dynamodb_ReadProvisionedThroughputThrottleEventsReadProvisionedThroughputThrottleEventsRead Provisioned Throughput Throttle EventsCountSumThe number of read requests throttled due to provisioned throughput limits.
aws_dynamodb_ReadThrottleEventsReadThrottleEventsRead Throttle EventsCountSumRequests to DynamoDB that exceed the provisioned read capacity units for a table or a global secondary index.
aws_dynamodb_ReplicationLatencyReplicationLatencyReplication LatencyMillisecondsAverageThis 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_ReturnedBytesReturnedBytesReturned BytesBytesAverageThe number of bytes returned by GetRecords operations (Amazon DynamoDB Streams) during the specified time period.
aws_dynamodb_ReturnedItemCountReturnedItemCountReturned Item CountCountAverageThe number of items returned by Query, Scan or ExecuteStatement operations during the specified time period.
aws_dynamodb_ReturnedRecordsCountReturnedRecordsCountReturned Records CountCountAverageThe number of stream records returned by GetRecords operations (Amazon DynamoDB Streams) during the specified time period.
aws_dynamodb_SuccessfulRequestLatencySuccessfulRequestLatencySuccessful Request LatencyMillisecondsAverageThe latency of successful requests to DynamoDB or Amazon DynamoDB Streams during the specified time period.
aws_dynamodb_SystemErrorsSystemErrorsSystem ErrorsCountSumThe 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_TimeToLiveDeletedItemCountTimeToLiveDeletedItemCountTime To Live Deleted Item CountCountSumThe 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_ThrottledPutRecordCountThrottledPutRecordCountThrottled Put Record CountCountAverageThe number of records that were throttled by your Kinesis data stream due to insufficient Kinesis Data Streams capacity.
aws_dynamodb_ThrottledRequestsThrottledRequestsThrottled RequestsCountSumRequests to DynamoDB that exceed the provisioned throughput limits on a resource such as a table or an index.
aws_dynamodb_TransactionConflictTransactionConflictTransaction ConflictCountAverageRejected item-level requests due to transactional conflicts between concurrent requests on the same items.
aws_dynamodb_UserErrorsUserErrorsUser ErrorsCountSumRequests to DynamoDB or Amazon DynamoDB Streams that generate an HTTP 400 status code during the specified time period.
aws_dynamodb_WriteAccountLimitThrottleEventsWriteAccountLimitThrottleEventsWrite Account Limit Throttle EventsCountSumThe number of write requests throttled due to account limits.
aws_dynamodb_WriteKeyRangeThroughputThrottleEventsWriteKeyRangeThroughputThrottleEventsWrite Key Range Throughput Throttle EventsCountSumThe number of write requests throttled due to partition limits.
aws_dynamodb_WriteMaxOnDemandThroughputThrottleEventsWriteMaxOnDemandThroughputThrottleEventsWrite Max On Demand Throughput Throttle EventsCountSumThe number of write requests throttled due to on-demand maximum throughput.
aws_dynamodb_WriteProvisionedThroughputThrottleEventsWriteProvisionedThroughputThrottleEventsWrite Provisioned Throughput Throttle EventsCountSumThe number of write requests throttled due to provisioned throughput limits.
aws_dynamodb_WriteThrottleEventsWriteThrottleEventsWrite Throttle EventsCountSumRequests to DynamoDB that exceed the provisioned write capacity units for a table or a global secondary index.

Global Secondary index metrics

OpsRamp MetricAWS MetricMetric Display NameUnitAggregation TypeDescription
aws_dynamodb_ConsumedReadCapacityUnitsConsumedReadCapacityUnitsConsumed Read Capacity UnitsCountAverageThe number of read capacity units consumed over the specified time period for both provisioned and on-demand capacity
aws_dynamodb_ConsumedWriteCapacityUnitsConsumedWriteCapacityUnitsConsumed Write Capacity UnitsCountAverageThe number of write capacity units consumed over the specified time period for both provisioned and on-demand capacity
aws_dynamodb_OnDemandMaxReadRequestUnitsOnDemandMaxReadRequestUnitsOn Demand Max Read Request UnitsCountMaximumThe number of specified on-demand read request units for a table or a global secondary index.
aws_dynamodb_OnDemandMaxWriteRequestUnitsOnDemandMaxWriteRequestUnitsOn Demand Max Write Request UnitsCountMaximumThe number of specified on-demand write request units for a table or a global secondary index.
aws_dynamodb_OnlineIndexConsumedWriteCapacityOnlineIndexConsumedWriteCapacityOnline Index Consumed Write CapacityCountAverageThis 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_OnlineIndexPercentageProgressOnlineIndexPercentageProgressOnline Index Percentage ProgressCountAverageThe 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_OnlineIndexThrottleEventsOnlineIndexThrottleEventsOnline Index Throttle EventsCountAverageThis 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_ProvisionedReadCapacityUnitsProvisionedReadCapacityUnitsProvisioned Read Capacity UnitsCountAverageThe number of provisioned read capacity units for a table or a global secondary index.
aws_dynamodb_ProvisionedWriteCapacityUnitsProvisionedWriteCapacityUnitsProvisioned Write Capacity UnitsCountAverageThe number of provisioned write capacity units for a table or a global secondary index.
aws_dynamodb_ReadAccountLimitThrottleEventsReadAccountLimitThrottleEventsRead Account Limit Throttle EventsCountSumThe number of read requests throttled due to account limits.
aws_dynamodb_ReadKeyRangeThroughputThrottleEventsReadKeyRangeThroughputThrottleEventsRead Key Range Throughput Throttle EventsCountSumThe number of read requests throttled due to partition limits.
aws_dynamodb_ReadMaxOnDemandThroughputThrottleEventsReadMaxOnDemandThroughputThrottleEventsRead Max On Demand Throughput Throttle EventsCountSumThe number of read requests throttled due to on-demand maximum throughput.
aws_dynamodb_ReadProvisionedThroughputThrottleEventsReadProvisionedThroughputThrottleEventsRead Provisioned Throughput Throttle EventsCountSumThe number of read requests throttled due to provisioned throughput limits.
aws_dynamodb_ReadThrottleEventsReadThrottleEventsRead Throttle EventsCountSumRequests to DynamoDB that exceed the provisioned read capacity units for a table or a global secondary index.
aws_dynamodb_WriteKeyRangeThroughputThrottleEventsWriteKeyRangeThroughputThrottleEventsWrite Key Range Throughput Throttle EventsCountSumThe number of write requests throttled due to partition limits.
aws_dynamodb_WriteMaxOnDemandThroughputThrottleEventsWriteMaxOnDemandThroughputThrottleEventsWrite Max On Demand Throughput Throttle EventsCountSumThe number of write requests throttled due to on-demand maximum throughput.
aws_dynamodb_WriteProvisionedThroughputThrottleEventsWriteProvisionedThroughputThrottleEventsWrite Provisioned Throughput Throttle EventsCountSumThe number of write requests throttled due to provisioned throughput limits.
aws_dynamodb_WriteThrottleEventsWriteThrottleEventsWrite Throttle EventsCountSumRequests 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 MetricAWS MetricMetric Display NameUnitDescriptionAggregation Type
aws_dynamodb_MaxProvisionedTableReadCapacityUtilizationMaxProvisionedTableReadCapacityUtilizationMax Provisioned Table Read Capacity UtilizationPercentThe percentage of provisioned read capacity utilized by the highest provisioned read table or global secondary index of an account.Maximum
aws_dynamodb_MaxProvisionedTableWriteCapacityUtilizationMaxProvisionedTableWriteCapacityUtilizationMax Provisioned Table Write Capacity UtilizationPercentThe percentage of provisioned write capacity utilized by the highest provisioned write table or global secondary index of an account.Maximum
aws_dynamodb_AccountProvisionedReadCapacityUtilizationAccountProvisionedReadCapacityUtilizationAccount Provisioned Read Capacity UtilizationPercentThe percentage of provisioned read capacity units utilized by an account.Average
aws_dynamodb_AccountProvisionedWriteCapacityUtilizationAccountProvisionedWriteCapacityUtilizationAccount Provisioned Write Capacity UtilizationPercentThe percentage of provisioned write capacity units utilized by an account.Average
aws_dynamodb_AccountMaxReadsAccountMaxReadsAccount Max ReadsCountThe 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_AccountMaxTableLevelReadsAccountMaxTableLevelReadsAccount Max Table Level ReadsCountThe 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_AccountMaxTableLevelWritesAccountMaxTableLevelWritesAccount Max Table Level WritesCountThe 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_AccountMaxWritesAccountMaxWritesAccount Max WritesCountThe 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

External reference

What Is Amazon DynamoDB?