Monitoring Redis

The Remote Dictionary Server (Redis) is an open source, in-memory, NoSQL key-value store that is used primarily as an application cache or quick-response database. Instana uses the Redis sensor to monitor Redis.

After you install the Instana host agent, the Redis sensor is automatically installed. You can view metrics that are related to Redis in the Instana UI after you complete the configuration as outlined in the Configuring section.

Supported information

Supported operating systems

The operating systems that are supported for the Redis sensor are consistent with the host agent requirements. To find the supported operating systems for every host agent, see the "Supported operating systems section" of each host agent, such as Supported operating systems for Unix.

Supported versions

Instana supports the following versions of Redis:

  • Redis 3.0.x
  • Redis 3.2.x
  • Redis 4.0.x
  • Redis 5.0.x
  • Redis 6.0.x
  • Redis 7.0.x

Supported client-side tracing

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

Configuring

To enable in-depth metric monitoring, provide the credentials to access monitoring information in the Instana agent.

Update the Instana agent configuration file <agent_install_dir>/etc/instana/configuration.yaml as shown in the following example:

com.instana.plugin.redis:
  username: '' # Used when Redis 6 ACL applied
  password: ''
  # Instana requires the CONFIG command and it must not be disabled on the Redis side. 
  # If it was renamed using 'rename-command', eg: rename-command CONFIG NEWCONFIG
  # this setting can be used to tell Instana the new command name
  config-command: 'NEWCONFIG'
  # Monitor certain values in Redis
  monitor:
    - db: 0           # db number - defaults to 0 if absent
      key: 'logstash' # key of value, given as string

If process environment is used to configure the Redis plug-in, set the set-proc-title flag to no in the redis.conf file as shown in the following example:

# By default, Redis modifies the process title (as seen in 'top' and 'ps') to
# provide some runtime information. It is possible to disable this and leave
# the process name as executed by setting the following to no.

set-proc-title no

Metrics collection

To view the metrics, complete the following steps:

  1. In the navigation menu, click Infrastructure.
  2. In the Map tab, click a Redis host that is monitored.
  3. Click Open Dashboard. The dashboard displays the metrics and processes.

Node-Level

The monitoring of Redis Sentinel and Redis with TLS/SSL enabled is not supported.

Configuration data

The following are the configuration data collected at the Redis node level:

  • Port
  • Started At
  • Role
  • Cluster Enabled
  • Slaves

Performance metrics

The following are the performance metrics collected at the Redis node level:

Throughput

Metric Description Granularity
Throughput Number of operations per second. 1 second

Keys

Metric Description Granularity
Hits Number of key hits, which are aggregated from all databases. 1 second
Misses Number of key misses, which are aggregated from all databases. 1 second
Hit Rate Percentage of key rates, which are aggregated from all databases. 1 second
Expired Number of expired keys, which are aggregated from all databases. 1 second
Evicted Number of evicted keys, which are aggregated from all databases. 1 second

Database

Metric Description Granularity
Keys Database keys of Redis. 1 second
Expires Expired keys of Redis. 1 second

Memory

Metric Description Granularity
Used Used memory, which is aggregated from all databases. 1 second
User RSS Used memory RSS, which is aggregated from all databases. 1 second
Lua Heap Size Lua scripting heap size, which is aggregated from all databases. 1 second
Fragmentation ratio Memory fragmentation ratio, which is aggregated from all databases. 1 second

Connections

Metric Description Granularity
Connections The number of clients that are connected to endpoints on the node conns. 1 second

Pub / Sub Subscribed patterns

Metric Description Granularity
Subscribed patterns Messaging paradigm where senders (publishers) are not programmed to send their messages to specific receivers (subscribers). 1 second

Persistence

Metric Description Granularity
Rdb current bgsave Duration of the current rdb save. 1 second
Aof current rewrite time Duration of the current aof log rewrite. 1 second
  • Slow Log

In the Slow Log, you can search through the history of snapshots. The snapshots are retained for one month.

Health signatures

Each sensor has a curated knowledge base of health signatures that are evaluated continuously against the incoming metrics and are used to raise issues or incidents depending on user impact.

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

For more information about built-in events for the Redis Node, see Built-in events reference.

Cluster-Level

Cluster level information is available for Redis version 3.0.0 or higher.

Configuration data

The following configuration data are collected at the Redis cluster level:

  • ID
  • Cluster status
  • Total number of nodes
  • Number of master nodes

Performance metrics

The following performance metrics are collected at the Redis cluster level:

Throughput

Metric Description Granularity
Throughput Number of operations per second (sum for all nodes in the cluster). 1 second

Keys

Metric Description Granularity
Hits Number of key hits, which are aggregated from all nodes in the cluster. 1 second
Misses Number of key misses, which are aggregated from all nodes in the cluster. 1 second
Hit Rate Percentage of key rates, which are aggregated from all nodes in the cluster. 1 second
Expired Number of expired keys, which are aggregated from all nodes in the cluster. 1 second
Evicted Number of evicted keys, which are aggregated from all nodes in the cluster. 1 second

Memory

Metric Description Granularity
Used Used memory, which is aggregated from all nodes in the cluster. 1 second
User RSS Used memory RSS, which is aggregated from all nodes in the cluster. . 1 second
Lua Heap Size Lua scripting heap size, which is aggregated from all nodes in the cluster. 1 second

Connections

Metric Description Granularity
Connected Number of connections. 1 second
Blocked Number of blocked connections. 1 second
Rejected Number of rejected connections. 1 second

Messages

Metric Description Granularity
Sent Number of messages that are sent through the node-to-node binary bus of the cluster. 1 second
Received Number of messages that are received through the node-to-node binary bus of the cluster. 1 second

Troubleshooting

Redis CONFIG command name that is not enabled and configured

Monitoring issue type: redis_config_command_name_not_configured

The Redis configuration is in the redis.conf file. For the Instana agent to read metrics from the Redis server, ensure that the CONFIG command is not disabled in the Redis configuration file using:

rename-command CONFIG ''

For example, if the CONFIG command is renamed as b840fc02d524045429941cc15f59e41cb7be6c52 in the redis.conf file using:

rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

Update the same CONFIG command name b840fc02d524045429941cc15f59e41cb7be6c52 in the agent configuration file as shown in the following configuration:

com.instana.plugin.redis:
  config-command: 'b840fc02d524045429941cc15f59e41cb7be6c52'