AWS DynamoDB Errors Test

When there is an error during the execution of a query, DynamoDB throws an HTTP exception (as all requests are submitted through HTTP) with three components: an HTTP status code, an error message, and an exception name. Any error that contains a 5xx series status code should be looked into, as this is a system error. 4xx series exceptions represent a bad request or human error. These errors, when left unchecked, can lead to degradation of the application's performance. However, prompt monitoring of user errors and system errors can be useful for identifying and troubleshooting issues with user interactions with the DynamoDB table and DynamoDB service. This is where the AWS DynamoDB Errors Test comes to the rescue.

This test monitors the target database and reports the number of requests that generate user and system errors. In addition, this test also tracks the number of tables with system errors. This way, administrators are notified of any errors encountered by the tables in a timely manner.

Target of the test : An AWS DynamoDB server

Agent deploying the test : A remote agent

Outputs of the test : One set of results for the target AWS DynamoDB server being monitored.

Configurable parameters for the test
Parameter Description

Test Period

How often should the test be executed.

Host

The IP address of the AWS DynamoDB server that is being monitored.

AWS Region

This test uses AWS SDK to interact with AWS DynamoDB and pull relevant metrics. To enable the test to connect to AWS, you need to configure the test with the name of the region to which all requests for metrics should be routed, by default. Specify the name of this AWS Region in this text box.

AWS Access Key ID, AWS Secret Access Key and Confirm Password

To monitor AWS DynamoDB, the eG agent has to be configured with the access key and secret key of a user with a valid AWS account. For this purpose, we recommend that you create a special user on the AWS cloud, obtain the access and secret keys of this user, and configure this test with these keys. The procedure for this has been detailed in the Obtaining an Access key and Secret key topic. Make sure you reconfirm the access and secret keys you provide here by retyping it in the corresponding Confirm Password text box.

Timeout Seconds

Specify the maximum duration (in seconds) for which the test will wait for a response from the server. The default is 120 seconds.

DD Row Count

By default, the detailed diagnosis of this test, if enabled, will report only the top-10 tables. This is why, the DD Row Count parameter is set to 10 by default. If you want to include more or less tables in detailed diagnosis, then change the value of this parameter accordingly.

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test

Measurement

Description

Measurement Unit

Interpretation

Count of tables having system error

Indicates the total number of tables that were unable to process the requests due to system error.

Number

 

Maximum system errors by table

Indicates the maximum number of requests to the tables that generate HTTP 500 status code on the target server.

Number

An HTTP 500 usually indicates an internal service error. Either DynamoDB is not available, or could not process that particular request.

Use the detailed diagnosis of this measure to identify the Table name, Operations, and Error value.

User errors

Indicates the number of requests that generate a HTTP 400 status code on the target server.

Number

An HTTP 400 usually indicates a client-side error, such as an invalid combination of parameters, an attempt to update a nonexistent table, or an incorrect request signature.