Extend the platform,
empower your team.
Collect important additional data for your Redis instances.
ExtensionRedis is an open-source, in-memory, key-value database (or "data structure server") with optional durability. Redis is commonly used as a database, cache, queue, and message broker (publish and subscribe). Out of the box, Dynatrace monitors the standard Redis process level metrics. Using this extension you can collect additional Redis metrics including response time, memory fragmentation, cache hit ratio, cache usage, number of connections, hits, misses, and more.
Start by activating this extension in your environment either by using the in-product Hub or via the Extensions Manager app. Then create a monitoring configuration. To create configurations for a group of OneAgent monitored hosts you can use things like host groups, management zones, and tags to supply a single configuration that applies to all of them.
Multiple Redis instances on a single OneAgent monitored host are supported. 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 will use 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, this will be the mapped/bound port exposed on the host if available. If not available, it will use the internal port within the Docker container.
For connecting to Dockerized instances the user that runs extensions ('dtuser' by default) must be able to read and right to the Docker socket (/var/run/docker.sock
). You likely will need to add this user to a group (e.g. the docker group) that has these permissions.
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:
2 metric events are defined within the extension. These are disabled by default so must be enabled before they are active. If you want to make changes to these you should clone them and modify the copy as any changes can be overwritten in future updates.
There is no charge for obtaining the extension, only for the data that the extension ingests. The details of license consumption will depend on which licensing model you are using. This will either be Dynatrace classic licensing or the Dynatrace Platform Subscription (DPS) 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.
Below is a complete list of the feature sets provided in this version. To ensure a good fit for your needs, individual feature sets can be activated and deactivated by your administrator during configuration.
Metric name | Metric key | Description | Unit |
---|---|---|---|
Keys | redis.keys | The number of keys in the selected database. | Count |
Expires | redis.expires | The number of keys that have the TTL parameter. | Count |
Average time-to-live | redis.avg_ttl | The estimated average TTL of keys on the server. | MilliSecond |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Role | redis.role | The role of the Redis instance (e.g. master, slave, or sentinel) | State |
Responsiveness | redis.responsiveness | The time elapsed while the Redis server responds to INFO requests. Redis typically responds within milliseconds. | MilliSecond |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Slow queries | redis.slowlog_len.count | The number of queries added in the Redis slow log. | Count |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Keyspace hits | redis.keyspace_hits.count | Number of successful key lookups in the main dictionary. | Count |
Keyspace misses | redis.keyspace_misses.count | Number of failed key lookups. | Count |
Evicted keys | redis.evicted_keys.count | Number of keys removed from cache to free up memory for new items | Count |
Expired keys | redis.expired_keys.count | Number of key expiration events. | Count |
Commands processed | redis.total_commands_processed.count | Number of commands processed by Redis. | Count |
Cache hit ratio | redis.hit_ratio | The percentage of key lookups in the main dictionary that were successful. | Percent |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Connected clients | redis.connected_clients | Number of client connections (excluding connections from replicas). | Count |
Blocked clients | redis.blocked_clients | The number of blocked clients | Count |
Connections received | redis.total_connections_received.count | Number of connections accepted by the server. | Count |
Rejected connections | redis.rejected_connections.count | The number of connections rejected because of the maxclients limit. | Count |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Used memory | redis.used_memory | The amount of memory in-use | Byte |
Max memory | redis.maxmemory | The maximum memory allowed in Redis cache. | Byte |
Memory fragmentation ratio | redis.mem_fragmentation_ratio | The ratio of memory used by the operating system compared to the amount of memory allocated by Redis. | Percent |
Memory usage | redis.memory_usage | The percentage of utilized Redis memory. This metric is visible only when the Redis maxmemory parameter is configured. | Percent |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Connected replicas | redis.connected_replicas | Number of connected replicas. This metric is visible for the master and those replicas that are connected to other replicas. | Count |
Last master interaction time | redis.master_last_io_seconds_ago | Time since interaction with the master | Second |