AWS DynamoDb monitoring
SkyWalking leverages Amazon Kinesis Data Filehose with Amazon CloudWatch to transfer the metrics into the Meter System.
Data flow
- Amazon CloudWatch fetches metrics from DynamoDB and pushes metrics to SkyWalking OAP Server via Amazon Kinesis data firehose.
- The SkyWalking OAP Server parses the expression with MAL to filter/calculate/aggregate and store the results.
Set up
- Create CloudWatch metrics configuration for DynamoDB, refer to DynamoDB metrics configuration
Create an Amazon Kinesis Data Firehose Delivery Stream, and set AWS Kinesis Data Firehose receiver’s address as HTTP(s) Destination, refer to Create Delivery Stream3. Create a metric stream, set namespace to DynanoDB, and set
Kinesis Data Firehose
to the firehose you just created. - Config aws-firehose-receiver to receive data.
- Create CloudWatch metric stream, and select the Firehose Delivery Stream which has been created above, set
Select namespaces
toAWS/DynamoDB
,Select output format
toOpenTelemetry 0.7
. refer to CloudWatch Metric Streams
Read Monitoring DynamoDB with SkyWalking for more details
DynamoDB Monitoring
DynamoDB monitoring provides monitoring of the status and resources of the DynamoDB server. AWS user id is cataloged as a Layer: AWS_DYNAMODB
Service
in OAP.
Each DynamoDB table is cataloged as an Endpoint
in OAP.
Supported Metrics
Monitoring Panel | Unit | Metric Name | Description | Data Source |
---|---|---|---|---|
Read Usage | unit/s | consumed_read_capacity_units provisioned_read_capacity_units |
The situation of read capacity units consumed and provisioned over the specified time period | Amazon CloudWatch |
Write Usage | unit/s | consumed_write_capacity_units provisioned_write_capacity_units |
The situation of write capacity units consumed and provisioned over the specified time period | Amazon CloudWatch |
Successful Request Latency | ms | get_successful_request_latency put_successful_request_latency query_successful_request_latency scan_successful_request_latency |
The latency of successful request | Amazon CloudWatch |
TTL Deleted Item count | time_to_live_deleted_item_count | The count of items deleted by TTL | Amazon CloudWatch | |
Throttle Events | read_throttle_events write_throttle_events |
Requests to DynamoDB that exceed the provisioned read/write capacity units for a table or a global secondary index. | Amazon CloudWatch | |
Throttled Requests | read_throttled_requests write_throttled_requests |
Requests to DynamoDB that exceed the provisioned throughput limits on a resource (such as a table or an index). | Amazon CloudWatch | |
Scan/Query Operation Returned Item Ccount | scan_returned_item_count query_returned_item_count |
The number of items returned by Query, Scan or ExecuteStatement (select) operations during the specified time period. | Amazon CloudWatch | |
System Errors | read_system_errors write_system_errors |
The requests to DynamoDB or Amazon DynamoDB Streams that generate an HTTP 500 status code during the specified time period. | Amazon CloudWatch | |
User Errors | user_errors | Requests to DynamoDB or Amazon DynamoDB Streams that generate an HTTP 400 status code during the specified time period. | Amazon CloudWatch | |
Condition Checked Fail Requests | conditional_check_failed_requests | The number of failed attempts to perform conditional writes. | Amazon CloudWatch | |
Transaction Conflict | transaction_conflict | Rejected item-level requests due to transactional conflicts between concurrent requests on the same items. | Amazon CloudWatch |
Customizations
You can customize your own metrics/expression/dashboard panel.
The metrics definition and expression rules are found in /config/otel-rules/aws-dynamodb
.
The DynamoDB dashboard panel configurations are found in /config/ui-initialized-templates/aws_dynamodb
.