Redis is an in-memory data structure store, used as a distributed, in-memory key–value database, cache and message broker, with optional durability. Redis supports different kinds of abstract data structures, such as strings, lists, maps, sets, sorted sets, HyperLogLogs, bitmaps, streams, and spatial indexes.

Prerequisites

  1. Edit the file /etc/redis/redis.conf with the following:
supervised systemd
bind 0.0.0.0
appendonly yes
  1. For Virtual Machines, install the Linux Agent.

Configuring the credentials

Configure the credentials in the directory /opt/opsramp/agent/conf/app.d/creds.yaml

redis:
- name: redis
  user: <username>
  pwd: <Password>
  encoding-type: plain
  labels:
    key1: val1
    key2: val2

Configuring the application

Virtual machine

Configure the application in the directory /opt/opsramp/agent/conf/app/discovery/auto-detection.yaml

- name: redis
  instance-checks:
    service-check:
      - redis-server
    process-check:
      - redis-server
    port-check:
      - 6379
  misc:
    unix-socket-path: "localhost:9090" # If nothing is specified then <ip>:<port> is considered. Ignore this field unless its necessary.
    socket-timeout: "10" # if empty then default value of 20 seconds is considered.

Docker environment

Configure the application in the directory /opt/opsramp/agent/conf/app/discovery/auto-container-detection.yaml

- name: redis
  container-checks:
    image-check:
      - redis
    port-check:
      - 6379
  misc:
    socket-timeout: "10" # if empty then default value of 20 seconds is considered.

Kubernetes environment

Configure the application in config.yaml

- name: redis
  container-checks:
    image-check:
      - redis
    port-check:
      - 6379
  misc:
    socket-timeout: "10" # if empty then default value of 20 seconds is considered.

Validate

Go to Resources under the Infrastructure tab to check if your resources are onboarded and the metrics are collected.

Metrics

OpsRamp MetricMetric Display NameUnitDescription
redis_uptimeRedis UptimesecondsRedis Uptime
redis_active_defrag_runningActive Defragmentation FlagFlag indicating if active defragmentation is active
redis_active_defrag_hitsDefrag Process Value Reallocations PerformedNumber of value reallocations performed by active the defragmentation process
redis_active_defrag_missesDefrag Process Aborted Value Reallocations StartedNumber of aborted value reallocations started by the active defragmentation process
redis_active_defrag_key_hitsActively Defrag KeysNumber of keys that were actively defragmented
redis_active_defrag_key_missesSkipped Active Defrag KeysNumber of keys that were skipped by the active defragmentation process
redis_aof_last_rewrite_time_secAOF Last Rewrite Op TimesecondsDuration of the last AOF rewrite operation in seconds
redis_aof_current_sizeAOF Current File SizemegabytesAOF current file size
redis_aof_buffer_lengthAOF Buffer SizemegabytesSize of the AOF buffer
redis_loading_totalAOF Total Bytes To LoadmegabytesTotal file size
redis_loading_loadedAOF Total Bytes LoadedmegabytesNumber of bytes already loaded
redis_loading_loaded_percAOF Loaded Percentage%Same value expressed as a percentage
redis_loading_eta_secondsAOF Loading Time LeftsecondsETA in seconds for the load to be complete
redis_net_clientsClient ConnectionsNumber of client connections (excluding connections from replicas)
redis_net_slavesConnected ReplicasNumber of connected replicas
redis_net_rejectedConnections Rejected Due to MaxClient LimitRate of number of connections rejected because of maximum client limit
redis_net_commandsCommands Processed RateRate of number of commands processed by the server
redis_net_commands_instantaneous_ops_per_secCommands Processed Per SecondNumber of commands processed per second
redis_net_acceptedConnections Accepted RateRate of number of connections accepted by the server
redis_net_maxclientsMax ClientsMaximum number of Client
redis_clients_blockedClients BlockedNumber of clients pending on a blocking call
redis_clients_biggest_input_bufClients Biggest InputBufBiggest input buffer among current client connections
redis_clients_longest_output_listClients Longest OutputListLongest output list among current client connections
redis_keys_evictedEvicted KeysNumber of evicted keys due to maximum memory limit
redis_keys_expiredExpired KeysTotal number of key expiration events
redis_keys_totalTotal KeysProvides the total number of keys from all the DBs.
redis_perf_latest_fork_usecLatest Fork Op TimeDuration of the latest fork operation in microseconds
redis_pubsub_channelsPubsub ChannelsGlobal number of pub/sub channels with client subscriptions
redis_pubsub_patternsPubsub PatternsGlobal number of pub/sub pattern with client subscriptions
redis_rdb_changes_since_lastRDB ChangesRefers to the number of operations that caused updates in the dataset when either SAVE or BGSAVE was used the last time.
redis_rdb_last_bgsave_timeRDB Last Save Op TimeDuration of the last RDB save operation in seconds
redis_mem_fragmentation_ratioMemory Fragmentation RatioRatio between used_memory_rss and used_memory
redis_mem_usedMemory AllocatedmegabytesTotal number of Megabytes allocated by Redis using its allocator (either standard libc, jemalloc, or an alternative allocator such as tcmalloc)
redis_mem_luaMemory Used LUAmegabytesNumber of Megabytes used by the Lua engine
redis_mem_peakPeak Memory ConsumedmegabytesPeak memory consumed by Redis (in Megabytes)
redis_mem_rssMemory Allocated Seen By OSmegabytesNumber of Megabytes that Redis allocated as seen by the operating system (also known as resident set size).
redis_mem_startupRedis Startup MemorymegabytesInitial amount of memory consumed by Redis at startup in Megabytes
redis_mem_overheadInternal DS Memory OverheadsmegabytesThe sum in Megabytes of all overheads that the server allocated for managing its internal data structures
redis_mem_maxmemoryMax MemorymegabytesThe value of the maxmemory configuration directive
redis_replication_last_io_seconds_agoSeconds Since Last InteractionsecondsNumber of seconds since the last interaction with master
redis_replication_sync_left_bytesSyncing Bytes LeftbytesNumber of bytes left before syncing is complete
redis_replication_backlog_histlenReplication Backlog BufferbytesSize in bytes of the data in the replication backlog buffer
redis_replication_master_repl_offsetServer Replication OffsetThe server's current replication offset
redis_replication_slave_repl_offsetReplica Replication OffsetThe replication offset of the replica instance
redis_replication_link_statusReplication Link StatusStatus of the link (up/down)
redis_cpu_sysCPU SystemsecondsSystem CPU consumed by the Redis server
redis_cpu_sys_childrenCPU System ChildrensecondsSystem CPU consumed by the background processes
redis_cpu_userCPU UsersecondsUser CPU consumed by the Redis server
redis_cpu_user_childrenCPU User ChildrensecondsUser CPU consumed by the background processes
redis_stats_keyspace_hitsKeyspace Hits RateRate of number of successful lookup of keys in the main dictionary
redis_stats_keyspace_missesKeyspace Misses RateRate of number of failed lookup of keys in the main dictionary