Monitoring AWS DynamoDB

The AWS DynamoDB sensor is automatically deployed and installed after you install the Instana agent.

Learn about the other supported AWS services with AWS documentation.

Supported information

Supported client-side tracing

For this technology, Instana supports client-side tracing for the following languages and runtimes:

Metrics collection

To view the metrics, select Infrastructure in the sidebar of the Instana User interface, click a specific monitored host, and then you can see a host dashboard with all the collected metrics and monitored processes.

Configuration data

  • Table Arn
  • Table Name
  • Table Status
  • Table Item Count
  • Table Created At
  • Table Size (bytes)
  • Table Stream Arn
  • Table Stream Label
  • Grouping zone (region)

Performance metrics

Name
Consumed read capacity
Provisioned read capacity
Consumed write capacity
Provisioned write capacity
Throttled read requests (Get, Scan, Query, Batch Get)
Throttled write requests (Put, Update, Delete, Batch Write)
TTL Deleted Items
Conditional check failed
User errors
System errors read (Get, Scan, Query, Batch get)
System errors write (Put, Update, Delete, Batch write)
Returned query item count (Minimum, Maximum, Average, Sum)
Returned scan item count (Minimum, Maximum, Average, Sum)
Batch get latency (Minimum, Maximum, Average, Sum, Request count)
Batch write latency (Minimum, Maximum, Average, Sum, Request count)
Delete latency (Minimum, Maximum, Average, Sum, Request count)
Get latency (Minimum, Maximum, Average, Sum, Request count)
Put latency (Minimum, Maximum, Average, Sum, Request count)
Query latency (Minimum, Maximum, Average, Sum, Request count)
Scan latency (Minimum, Maximum, Average, Sum, Request count)
Update latency (Minimum, Maximum, Average, Sum, Request count)

For more information, see Amazon DynamoDB Metrics and Dimensions.

Health Signatures

For each sensor, there is a curated knowledgebase of health signatures that are evaluated continuously against the incoming metrics and are used to raise issues or incidents that depend on user impact.

Built-in events trigger issues or incidents based on failing health signatures on entities, and custom events trigger issues or incidents based on the thresholds of an individual metric of any entity.

For information about built-events for the AWS DynamoDB sensor, seeBuilt-in events reference.

Required Permissions

  • cloudwatch:GetMetricStatistics
  • cloudwatch:GetMetricData
  • dynamodb:ListTables
  • dynamodb:DescribeTable
  • dynamodb:ListTagsOfResource

Configuration

Beanstalk instances are refreshed every 5 minutes. Due to an asynchronous nature of detection, instance metrics can be late. This delay depends on the specified poll rate (cloudwatch_period) and by default, it is not longer than a minute before they appear on the dashboard. Metrics for DynamoDB are pulled every 5 minutes, and it can be changed through agent configuration in /opt/instana/agent/etc/instana/configuration.yml:

com.instana.plugin.aws.dynamodb:
  cloudwatch_period: 300

To disable monitoring of DynamoDB instances, use the following configuration:

com.instana.plugin.aws.dynamodb:
  enabled: false

Proxy configuration

To configure the specific AWS Sensor to use proxy configuration, add the following agent configuration settings:

com.instana.plugin.aws.dynamodb:
  proxy_host: 'example.com' # proxy host name or ip address
  proxy_port: 3128 # proxy port
  proxy_protocol: 'HTTP' # proxy protocol: HTTP or HTTPS
  proxy_username: 'username' # OPTIONAL: proxy username
  proxy_password: 'password' # OPTIONAL: proxy password

Monitoring multiple AWS accounts

Refer to the Monitoring multiple AWS accounts documentation to set up monitoring of multiple AWS accounts with one AWS agent in the same region.

AWS named profiles approach

To override which profiles can be used to monitor DynamoDB, use the following configuration:

com.instana.plugin.aws.dynamodb:
  profile_names:
    - 'profile2'
    - 'profile3'

Defining profiles on service level overrides the global AWS profiles configuration.

AWS STS approach

To override which IAM Roles can be used to monitor DynamoDB, use the following configuration:

com.instana.plugin.aws.dynamodb:
  role_arns:
    - 'arn:aws:iam::<account_1_id>:role/<role_2_name>'
    - 'arn:aws:iam::<account_2_id>:role/<role_3_name>'

Defining IAM roles on service level overrides the global AWS IAM roles configuration.

Filtering

Multiple tags can be defined, separated by a comma. Tags are provided as a key-value pair separated by a : character. To make configuration better, it is possible to define which tags you want to include in discovery or exclude from discovery. If tags are defined in both lists (include and exclude), exclude list has higher priority. If there is no need for filtering services, the configuration need not be defined. It is not mandatory to define all values to enable filtering.

Users are able to specify how often sensors poll the AWS tagged resources that use the tagged-services-poll-rate configuration property (default 300 seconds).

Tags are only available with the AWS Agent.

To define how often sensors poll the tagged resources use following configuration:

com.instana.plugin.aws:
  tagged-services-poll-rate: 60 #default 300

To include services by tags into discovery, use following configuration:

com.instana.plugin.aws.dynamodb:
  include_tags: # Comma separated list of tags in key:value format (e.g. env:prod,env:staging)

To exclude services by tags from discovery, use following configuration:

com.instana.plugin.aws.dynamodb:
  exclude_tags: # Comma separated list of tags in key:value format (e.g. env:dev,env:test)

AWS services without tags are monitored by default but can be excluded by setting the include_untagged field to false:

com.instana.plugin.aws.dynamodb:
  include_untagged: false # True value by default

Poll Rate

To define how often sensors poll the tagged resources use following configuration:

com.instana.plugin.aws:
  tagged-services-poll-rate: 60 #default 300