HomeRedis Monitoring
Redis Monitoring

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.

Metrics collected by Redis Integration
Metric
– Description
Uptime
– The amount of time the server has been running.
Aof Buffer Length
– Size of the AOF buffer
Aof Current Size
– AOF current file size
Aof Enabled Flag
– Flag indicating AOF(Append Only File) logging is activated
Aof Last Rewrite Time
– Duration of the last AOF rewrite operation in seconds
Aof Rewrite In Progress
– Flag indicating a AOF rewrite operation is on-going
Blocked Clients
– Number of clients pending on a blocking call (BLPOP, BRPOP, BRPOPLPUSH)
Client Biggest Input buffer
– biggest input buffer among current client connections
Client Longest Output List
– longest output list among current client connections
Connected Clients
– Number of client connections (excluding connections from slaves)
Connected Slaves
– Number of connected slaves
Evicted Keys
– Number of evicted keys due to maxmemory limit
Expired Keys
– Total number of key expiration events
Keyspace Hits
– Number of successful lookup of keys in the main dictionary, per second
Keyspace Misses
– Number of failed lookup of keys in the main dictionary, per second
Latest Fork Micro Second
– Duration of the latest fork operation in microseconds
Memory Fragmentation Ratio
– Ratio between used_memory_rss and used_memory
Master Last IO Seconds Ago
– Number of seconds since the last interaction with master
Master Link Down Since Seconds
– Number of seconds since the link is down
Master Replication Offset
– The replication offset reported by the master
Master Sync Left Bytes
– Number of bytes left before syncing is complete
Master Sync In Progress -Flag
– Indicate the master is syncing to the slave
Max Memory
– “maxmemory” option in the config file to put a limit to the memory Redis can use.
Pubsub Channels
– Global number of pub/sub channels with client subscriptions
Pubsub Patterns
– Global number of pub/sub pattern with client subscriptions
Rdb Bgsave In Progress
– Flag indicating a RDB save is on-going
Rdb Changes Since Last Save
– Number of changes since the last dump
Rdb Last Bgsave Time
– Duration of the last RDB save operation in seconds
Rejected Connections
– Number of connections rejected because of maxclients limit
Replication Backlog Histlen
– The amount of data in the backlog sync buffer
Commands Processed
– Number of commands processed by the server per second
Total Connections Received
– Total number of connections accepted by the server
Input Bytes
– Network Input Bytes per second
Output Bytes
– Network Output Bytes per second
Used Cpu Sys
– System CPU consumed by the Redis server
Used Cpu Sys Children
– System CPU consumed by the background processes
Used Cpu User
– User CPU consumed by the Redis server
Used Cpu User Children
– User CPU consumed by the background processes
Used Memory
– total number of bytes allocated by Redis using its allocator
Used Memory Dataset
Used Memory Lua
– Number of bytes used by the Lua engine
Used Memory Overhead
Used Memory Peak
– Peak memory consumed by Redis
Configuring
  1. Installing module: rptmonitor uses redis module as a redis client to interact with Redis.

    Installing redis :

    • Using pip : pip install redis (python2) & pip3 install redis (python3)
    • Using easy_install : easy_install redis
    • From source :

      git clone https://github.com/andymccurdy/redis-py.git

      cd pymongo/

      python setup.py install

    • ‘pip’ is preferred installer program.

      Note : Installing pip on CentOS / RHEL / Ubuntu / Debian

  2. Edit config.cfg file :

    • Uncomment the lines containing redis_server & redis_port config variables (remove # symbol).
    • Change default values as required.
    • Provide password(redis_pswd) if Redis server is protected & remove # symbol to uncomment the line.
  3. Restart rptmonitor :

    • For deb/rpm package supported Linux distros :

      sudo /etc/init.d/rptmonitor restart
    • For OpenSUSE(11.4+) with systemd :

      sudo systemctl restart rptmonitor.service
    • For other Linux distro, FreeBSD 8+, Mac OS X+ :

      sudo python /usr/local/bin/rptmonitor/monitor.py restart