Retrieve data and metrics from a Redis instance to effectively monitor the performance of the Redis server.

Prerequisites

Before using this integration, ensure that the Middleware Host agent has been successfully installed on your machine.

Setup

Follow these steps to set up the Redis integration:

  1. Create a YAML file on your system containing the database collection details, as shown below:

Ex. /home/ubuntu/redis-creds.yaml

redis:
  endpoint: localhost:7379
  password: redis
Optional settings include:
- password: if your Redis server requires authentication.
- transport (default = tcp): Type of network, to access the server. Options: tcp and Unix.
- tls:
     - insecure (default = true): To switch client transport security for the connection.
     - ca_file: Path to the CA certificate file.
     - cert_file: Path to the TLS certificate file.
     - key_file: Path to the TLS key file.
For Docker Agent Users: If you are running the Middleware Docker agent, then we recommend to keep the creds YAML under /var/log directory. This is because, the Docker agent might not support dynamic volume binding.
  1. In the Middleware Store, enable the Redis Integration, select a host, and provide the YAML file path created in step 1.

Visualize Analytics

Redis analytics can be visualized in two ways:

1. Middleware’s Default Redis Dashboard

After setting up the Redis Integration, you will gain access to various analytics in the default Redis Dashboard.

2. Create your own dashboard

You have the flexibility to create your own dashboard from scratch.

When adding a new widget to an existing dashboard, you will find a list of available Redis metrics under the “redis” data source.

These metrics can be visualized using various widget types, such as Timeseries, Bar Chart, Pie Chart, and more.

Metrics collected

Below is a list of Redis metrics that this integration will collect:

MetricDescription
redis.maxmemoryThe value of the maxmemory configuration directive
redis.roleRedis node’s role
redis.cmd.callsTotal number of calls for a command
redis.cmd.usecTotal time for all executions of this command
redis.uptimeNumber of seconds since Redis server start
redis.cpu.timeSystem CPU consumed by the Redis server in seconds since server start
redis.clients.connectedNumber of client connections (excluding connections from replicas)
redis.clients.max_input_bufferBiggest input buffer among current client connections
redis.clients.max_output_bufferLongest output list among current client connections
redis.clients.blockedNumber of clients pending on a blocking call
redis.keys.expiredTotal number of key expiration events
redis.keys.evictedNumber of evicted keys due to maxmemory limit
redis.connections.receivedTotal number of connections accepted by the server
redis.connections.rejectedNumber of connections rejected because of maxclients limit
redis.memory.usedTotal number of bytes allocated by Redis using its allocator
redis.memory.peakPeak memory consumed by Redis (in bytes)
redis.memory.rssNumber of bytes that Redis allocated as seen by the operating system
redis.memory.luaNumber of bytes used by the Lua engine
redis.memory.fragmentation_ratioRatio between used_memory_rss and used_memory
redis.rdb.changes_since_last_saveNumber of changes since the last dump
redis.commandsNumber of commands processed per second
redis.commands.processedTotal number of commands processed by the server
redis.net.inputThe total number of bytes read from the network
redis.net.outputThe total number of bytes written to the network
redis.keyspace.hitsNumber of successful lookup of keys in the main dictionary
redis.keyspace.missesNumber of failed lookup of keys in the main dictionary
redis.latest_forkDuration of the latest fork operation in microseconds
redis.slaves.connectedNumber of connected replicas
redis.replication.backlog_first_byte_offsetThe master offset of the replication backlog buffer
redis.replication.offsetThe server’s current replication offset
redis.db.keysNumber of keyspace keys
redis.db.expiresNumber of keyspace keys with an expiration
redis.db.avg_ttlAverage keyspace keys TTL(Time to live)