Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here

redis-stat

:blossom: A real-time Redis monitoring tool

Subscribe to updates I use redis-stat


Statistics on redis-stat

Number of watchers on Github 1586
Number of open issues 18
Average time to close an issue 4 months
Main language Ruby
Average time to merge a PR 1 day
Open pull requests 1+
Closed pull requests 3+
Last commit almost 3 years ago
Repo Created about 7 years ago
Repo Last Updated over 1 year ago
Size 2.06 MB
Organization / Authorjunegunn
Latest Release0.4.14
Contributors5
Page Updated
Do you use redis-stat? Leave a review!
View open issues (18)
View redis-stat activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating redis-stat for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

redis-stat

redis-stat is a simple Redis monitoring tool written in Ruby.

It is based on INFO command of Redis, and thus generally won't affect the performance of the Redis instance unlike the other monitoring tools based on MONITOR command.

redis-stat allows you to monitor Redis instances

  • either with vmstat-like output from the terminal
  • or with the dashboard page served by its embedded web server.

Installation

gem install redis-stat

If you have trouble setting up a Ruby environment, you can download the executable JAR file and use it instead.

Usage

usage: redis-stat [HOST[:PORT][/PASS] ...] [INTERVAL [COUNT]]

    -a, --auth=PASSWORD              Password
    -v, --verbose                    Show more info
        --style=STYLE                Output style: unicode|ascii
        --no-color                   Suppress ANSI color codes
        --csv=OUTPUT_CSV_FILE_PATH   Save the result in CSV format
        --es=ELASTICSEARCH_URL       Send results to ElasticSearch: [http://]HOST[:PORT][/INDEX]

        --server[=PORT]              Launch redis-stat web server (default port: 63790)
        --daemon                     Daemonize redis-stat. Must be used with --server option.

        --version                    Show version
        --help                       Show this message

Running redis-stat for command-line monitoring

redis-stat
redis-stat 1
redis-stat 1 10
redis-stat --verbose
redis-stat localhost:6380 1 10
redis-stat localhost localhost:6380 localhost:6381 5
redis-stat localhost localhost:6380 1 10 --csv=/tmp/output.csv --verbose

Screenshot

Terminal output

redis-stat in web browser

When --server option is set, redis-stat will open up an embedded web server (default port: 63790) in the background so that you can monitor Redis in your browser.

Since redis-stat pushes updates every interval via Server-sent events, modern browsers are required to view the page.

redis-stat --server
redis-stat --verbose --server=8080 5

# redis-stat server can be daemonized
redis-stat --server --daemon

# Kill the daemon
killall -9 redis-stat-daemon

Screenshot

Dashboard

Windows support

If you're running Windows, you can only install redis-stat on JRuby. Notice that fancy terminal colors will not be printed as they are not supported in the default Windows command prompt.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Test

You need two Redis servers running on localhost with port 6379 and 6380 with no password.

bundle install
bundle exec rake test

About the name redis-stat

Since this project was supposed to be a vmstat-like monitoring script for Redis, naming it redis-stat seemed like a nice idea. That was when I was unaware of the existence of the original redis-stat included in redis-tools written by the creator of Redis himself. (My bad) Although the original C-version hasn't been updated for the past couple of years, you might want to check it out first.

redis-stat open issues Ask a question     (View All Issues)
  • about 3 years Proxying redis-stat (with nginx) fails
  • about 3 years Redis-stat timestamp problem with ELS v2.3.3 + Kibanav4.5 + Java v 1.8.0_92
  • about 3 years Improvement : Graph for replication lag offsets
  • almost 4 years cannot run redis-stat --server --daemon
  • almost 4 years Plans to release package?
  • over 4 years Consider supporting custom ssl certificates configuration for elasticsearch client
  • almost 5 years Improvement: add parameter to set the time span in the graphs
  • almost 5 years redis stat track socket connection
  • almost 5 years Improvement: Add least squares fit line or similar to Commands/sec graph
redis-stat open pull requests (View All Pulls)
  • Es tags
redis-stat questions on Stackoverflow (View All Questions)
  • Redis-stat is not found
  • after comping redis 2.2.5 redis-stat is not created
redis-stat list of languages used
redis-stat latest release notes
0.4.14 0.4.14

Changes

  • Fix issues with proxy (#56)
    • See #60 for example Nginx configuration

Usage

Ruby gem

gem install redis-stat -v 0.4.14
redis-stat --server

Executable JAR

java -jar redis-stat-0.4.14.jar --server
0.4.13 0.4.13

Changes

  • Added rejected_connections_per_second to --verbose output (#47)
  • Added support for servers with different passwords (#9, #51)
    • HOST[:PORT][/PASS]

Usage

Ruby gem

gem install redis-stat -v 0.4.13
redis-stat --server

Executable JAR

java -jar redis-stat-0.4.13.jar --server
0.4.12 0.4.12

Changes

  • Fixed #38 - Handle tput command failure

Usage

Ruby gem

gem install redis-stat -v 0.4.12
redis-stat --server

Executable JAR

java -jar redis-stat-0.4.12.jar --server
Other projects in Ruby