https://github.com/OpenGems/redis_web_manager
Manage your Redis instance (see keys, memory used, connected client, etc...)
https://github.com/OpenGems/redis_web_manager
rails rails-engine rails-redis redis redis-client redis-monitor redis-monitoring redis-monitoring-application
Last synced: 6 months ago
JSON representation
Manage your Redis instance (see keys, memory used, connected client, etc...)
- Host: GitHub
- URL: https://github.com/OpenGems/redis_web_manager
- Owner: OpenGems
- License: mit
- Created: 2020-02-07T15:21:30.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-10-09T18:24:57.000Z (over 1 year ago)
- Last Synced: 2024-11-13T04:05:38.260Z (6 months ago)
- Topics: rails, rails-engine, rails-redis, redis, redis-client, redis-monitor, redis-monitoring, redis-monitoring-application
- Language: Ruby
- Size: 759 KB
- Stars: 172
- Watchers: 6
- Forks: 25
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: MIT-LICENSE
Awesome Lists containing this project
README
# RedisWebManager
[](https://badge.fury.io/rb/redis_web_manager)
[](https://codeclimate.com/github/OpenGems/redis_web_manager/maintainability)
[](https://travis-ci.org/OpenGems/redis_web_manager)
[](https://hakiri.io/github/OpenGems/redis_web_manager/master)

[](https://coveralls.io/github/OpenGems/redis_web_manager?branch=master)Web interface that allows you to manage easily your Redis instance (see keys, memory used, connected client, etc...).
### Check your stats
The Dashboard allows you to check the Memory usage, CPU and Redis clients.
### Manage your redis keys
You can easily edit and delete any keys stored in your redis database.
### Keep an eye on your redis clients
Check how many clients are connected and their infos.
## Installation
Add this line to your application's Gemfile:```ruby
gem 'redis_web_manager'
```And then execute:
```bash
$ bundle
```Or install it yourself as:
```bash
$ gem install redis_web_manager
```Add the custom route in your `routes.rb`:
```
mount RedisWebManager::Engine => '/redis_web_manager'
```Access to RedisWebManager at `/redis_web_manager`
## Configuration
You can configure RedisWebManager:
```ruby
# initializers/redis_web_manager.rbRedisWebManager.configure do |config|
config.redises = {
instance_1: Redis.new(db: 1),
instance_2: Redis.new(url: 'XXX')
} # Default { default: Redis.new } (Hash with instance(s) of Redis)
config.lifespan = 2.days # Default 15.days (Lifespan of each keys for dashboard)
config.authenticate = proc {
authenticate_or_request_with_http_basic do |username, password|
username == 'TEST' && password == 'TEST'
end
} # Default nil (Authenticate method to secure tools)
end
```## Collect data for dashboard
In order to have data on your dashboard you must collect the data like this:
```ruby
data = RedisWebManager::Data.new(:instance_1)
data.perform
```or
```ruby
RedisWebManager.redises.keys.each do |instance|
data = RedisWebManager::Data.new(instance)
data.perform
end
```If you are using a system to run background tasks in your application (like Sidekiq, Sucker Punch or ActiveJob), you can write your own background task to update the dashboard statistics.
Sidekiq exemple:
```ruby
class DashboardWorker
include Sidekiq::Workerdef perform
data = RedisWebManager::Data.new(:instance_1)
data.perform
end
end
```or
```ruby
class DashboardWorker
include Sidekiq::Workerdef perform
RedisWebManager.redises.keys.each do |instance|
data = RedisWebManager::Data.new(instance)
data.perform
end
end
end
```Sucker Punch exemple:
```ruby
class DashboardJob
include SuckerPunch::Jobdef perform
data = RedisWebManager::Data.new(:instance_1)
data.perform
end
end
```or
```ruby
class DashboardJob
include SuckerPunch::Jobdef perform
RedisWebManager.redises.keys.each do |instance|
data = RedisWebManager::Data.new(instance)
data.perform
end
end
end
```## Todo
* [ ] Add graph for most used commands
* [ ] Real time chart update
* [ ] Alert system (ex: triggered when memory is peaking)
* [ ] Command line interface to manage your redis database
* [ ] Logs interface## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/OpenGems/redis_web_manager. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.## License
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).