Back to Skywalking

AWS DynamoDb monitoring

docs/en/setup/backend/backend-aws-dynamodb-monitoring.md

10.4.04.5 KB
Original Source

AWS DynamoDb monitoring

SkyWalking leverages Amazon Kinesis Data Filehose with Amazon CloudWatch to transfer the metrics into the Meter System.

Data flow

  1. Amazon CloudWatch fetches metrics from DynamoDB and pushes metrics to SkyWalking OAP Server via Amazon Kinesis data firehose.
  2. The SkyWalking OAP Server parses the expression with MAL to filter/calculate/aggregate and store the results.

Set up

  1. 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.
  2. Config aws-firehose-receiver to receive data.
  3. Create CloudWatch metric stream, and select the Firehose Delivery Stream which has been created above, set Select namespaces to AWS/DynamoDB, Select output format to OpenTelemetry 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 PanelUnitMetric NameDescriptionData Source
Read Usageunit/sconsumed_read_capacity_units
provisioned_read_capacity_unitsThe situation of read capacity units consumed and provisioned over the specified time periodAmazon CloudWatch
Write Usageunit/sconsumed_write_capacity_units
provisioned_write_capacity_unitsThe situation of write capacity units consumed and provisioned over the specified time periodAmazon CloudWatch
Successful Request Latencymsget_successful_request_latency
put_successful_request_latency
query_successful_request_latency
scan_successful_request_latencyThe latency of successful requestAmazon CloudWatch
TTL Deleted Item counttime_to_live_deleted_item_countThe count of items deleted by TTLAmazon CloudWatch
Throttle Eventsread_throttle_events
write_throttle_eventsRequests to DynamoDB that exceed the provisioned read/write capacity units for a table or a global secondary index.Amazon CloudWatch
Throttled Requestsread_throttled_requests
write_throttled_requestsRequests 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 Ccountscan_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 Errorsread_system_errors
write_system_errorsThe requests to DynamoDB or Amazon DynamoDB Streams that generate an HTTP 500 status code during the specified time period.Amazon CloudWatch
User Errorsuser_errorsRequests to DynamoDB or Amazon DynamoDB Streams that generate an HTTP 400 status code during the specified time period.Amazon CloudWatch
Condition Checked Fail Requestsconditional_check_failed_requestsThe number of failed attempts to perform conditional writes.Amazon CloudWatch
Transaction Conflicttransaction_conflictRejected 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.