Project: SkyWalking (Observability and Analysis / Observability)
File: backend-aws-dynamodb-monitoring.md

SkyWalking leverages Amazon Kinesis Data Filehose with to transfer the metrics into the . 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 to filter/calculate/aggregate and store the results. Create CloudWatch metrics configuration for DynamoDB, refer to Create an Amazon Kinesis Data Firehose Delivery Stream, and set 's address as HTTP(s) Destination, refer to 3. Create a , set namespace to DynanoDB, and set `Kinesis Data Firehose` to the firehose you just created. Config to receive data. 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 Read for more details 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. | Monitoring Panel | Unit | Metric Name | Description | Data Source | |--|--|--|--|--| | Read Usage | unit/s | consumedreadcapacityunits <br /> provisionedreadcapacityunits| The situation of read capacity units consumed and provisioned over the specified time period | Amazon CloudWatch | | Write Usage | unit/s | consumedwritecapacityunits <br /> provisionedwritecapacityunits| The situation of write capacity units consumed and provisioned over the specified time period | Amazon CloudWatch | | Successful Request Latency | ms | getsuccessfulrequestlatency <br /> putsuccessfulrequestlatency <br /> querysuccessfulrequestlatency <br /> scansuccessfulrequestlatency | The latency of successful request | Amazon CloudWatch | | TTL Deleted Item count | | timetolivedeleteditem_count | The count of items deleted by TTL | Amazon CloudWatch | | Throttle Events| | readthrottleevents <br /> writethrottleevents | Requests to DynamoDB that exceed the provisioned read/write capacity units for a table or a global secondary index. | Amazon CloudWatch | | Throttled Requests | | readthrottledrequests <br /> writethrottledrequests | 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 | | scanreturneditemcount <br/>queryreturneditemcount<br /> | The number of items returned by Query, Scan or ExecuteStatement (select) operations during the specified time period. | Amazon CloudWatch | | System Errors | | readsystemerrors<br />writesystemerrors | 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 | | conditionalcheckfailed_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 | 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`.