Redis (2.0) extension

  • Latest Dynatrace
  • Extension
  • Published Oct 27, 2025

Collect important additional data for your Redis instances.

Get started

Overview

Use Redis to collect additional metrics to improve your monitoring capabilities.

Redis is an open-source, in-memory, key-value database with optional durability commonly used as a database, cache, queue, and message broker. Out of the box, Dynatrace monitors the standard Redis process level metrics.

You can use Redis to collect additional metrics including response time, memory fragmentation, cache hit ratio, cache usage, number of connections, hits, misses, and more.

Use cases

  • The extension supports multiple Redis instances on a single OneAgent monitored host. You are able to supply a password and configuration file location (for use in identifying renamed commands) for an entire monitoring configuration as well as provide overrides in case individual instances need specific configurations. All of the Redis instances on the host will be discovered automatically, so you only need to provide overrides if they are different from the defaults.

  • The extension uses the listening port to map your configuration overrides to the proper Redis instance. For standard processes this will be the identified listening port. For Dockerized Redis instances, the extension will use mapped or bound port exposed on the host if available. If not available, it will use the internal port within the Docker container.

  • Metrics collected will be reported one the Redis process group instance. To view these metrics navigate to the process group instance screen for the relevant Redis process select the three dot button (...) and select "Metrics and logs analysis." Metrics are organized into several feature sets (see descriptions in the feature sets section below) based on:

    • Replication
    • Memory
    • Statistics
    • Clients
    • Databases
    • Slow log
  • 2 metric events are defined within the extension:

    • Redis replica synchronization in progress
      • Triggers if a replica is detected to be in the 'synchronizing' state for 3 minutes out of any 5 minute interval.
    • Redis replica is unsynchronized
      • Triggers if a replica is detected to be in the 'unsynchronized' state for 3 minutes out of any 5 minute interval.

    They're disabled by default and must be enabled before they are active. If you want to make changes to these you should clone them and modify the copy because any changes can be overwritten in future updates.

Use this extension to:

  • Monitor for critical issues such as unsynchronized replicas or synchronization tasks taking longer than expected
  • Identify memory related issues such as excessive memory fragmentation or keys being evicted due to memory limits being reached
  • Detect if clients are being rejected due to the maxclients limit
  • Identify if there is an increasing number of queries exceeding their specified execution times (reported in the slow log)

Requirements

  • Active Redis (2.0) extension in your environment
  • A filled in monitoring configuration
  • A filled in extension configuration or multiple configurations for OneAgent monitored hosts.
  • Redis must listen on localhost. Binding between localhost and the Redis port is required.

For connecting to Dockerized instances the user that runs extensions (dtuser by default) also needs the following:

  • A user with read and write to the Docker socket (/var/run/docker.sock).
    • You might need to add this user to a group (for example, the docker group) that has these permissions.

Compatibility information

The extension supports:

  • Redis Server version 2.8+
  • Linux OS
  • Redis docker image version 5.0.0+

Details

Licensing and cost

The extension ingests metrics and events. The details of license consumption will depend on which licensing model you are using. For more information about licensing costs, see Dynatrace classic licensing or the Dynatrace Platform Subscription (DPS) depending on your license model.

License consumption is based on the number of metric data points ingested. The following formula will provide approximate annual data points ingested assuming all feature sets are enabled.

(19 + (3 * <number_of_databases)) * 60 minutes * 24 hours * 365 days data points per year

In the classic licensing model, metric ingestion will consume Davis Data Units (DDUs) at the rate of .001 DDUs per metric data point.

Multiply the above formula for annual data points by .001 to estimate annual DDU usage.

Feature sets

When activating your extension using monitoring configuration, you can limit monitoring to one of the feature sets. To work properly the extension has to collect at least one metric after the activation.

In highly segmented networks, feature sets can reflect the segments of your environment. Then, when you create a monitoring configuration, you can select a feature set and a corresponding ActiveGate group that can connect to this particular segment.

All metrics that aren't categorized into any feature set are considered to be the default and are always reported.

A metric inherits the feature set of a subgroup, which in turn inherits the feature set of a group. Also, the feature set defined on the metric level overrides the feature set defined on the subgroup level, which in turn overrides the feature set defined on the group level.

database
Metric nameMetric keyDescription
Keysredis.keysThe number of keys in the selected database.
Expiresredis.expiresThe number of keys that have the TTL parameter.
Average time-to-liveredis.avg_ttlThe estimated average TTL of keys on the server.
replication
Metric nameMetric keyDescription
Connected replicasredis.connected_replicasNumber of connected replicas. This metric is visible for the master and those replicas that are connected to other replicas.
Last master interaction timeredis.master_last_io_seconds_agoTime since interaction with the master
memory
Metric nameMetric keyDescription
Used memoryredis.used_memoryThe amount of memory in-use
Max memoryredis.maxmemoryThe maximum memory allowed in Redis cache.
Memory fragmentation ratioredis.mem_fragmentation_ratioThe ratio of memory used by the operating system compared to the amount of memory allocated by Redis.
Memory usageredis.memory_usageThe percentage of utilized Redis memory. This metric is visible only when the Redis maxmemory parameter is configured.
clients
Metric nameMetric keyDescription
Connected clientsredis.connected_clientsNumber of client connections (excluding connections from replicas).
Blocked clientsredis.blocked_clientsThe number of blocked clients
Connections receivedredis.total_connections_received.countNumber of connections accepted by the server.
Rejected connectionsredis.rejected_connections.countThe number of connections rejected because of the maxclients limit.
statistics
Metric nameMetric keyDescription
Keyspace hitsredis.keyspace_hits.countNumber of successful key lookups in the main dictionary.
Keyspace missesredis.keyspace_misses.countNumber of failed key lookups.
Evicted keysredis.evicted_keys.countNumber of keys removed from cache to free up memory for new items
Expired keysredis.expired_keys.countNumber of key expiration events.
Commands processedredis.total_commands_processed.countNumber of commands processed by Redis.
Cache hit ratioredis.hit_ratioThe percentage of key lookups in the main dictionary that were successful.
slowlog
Metric nameMetric keyDescription
Slow queriesredis.slowlog_len.countThe number of queries added in the Redis slow log.
default
Metric nameMetric keyDescription
Roleredis.roleThe role of the Redis instance (e.g. master, slave, or sentinel)
Responsivenessredis.responsivenessThe time elapsed while the Redis server responds to INFO requests. Redis typically responds within milliseconds.
Related tags
StoragePythonCachingRedisInfrastructure Observability