Skip to main content

Redis monitoring and inspection drop-in application using django admin.

Project description

Redis monitoring and inspection drop-in application using django admin.

  • Free software: BSD 2-Clause License

Features

  • Sever statistics in the admin changelist
  • Key summary in the inspect view
  • Value introspection with pagination for lists and sorted sets

Requirements

OS:Any
Runtime:Python 2.7, 3.4, 3.4 or PyPy
Services:Redis 2.2 or later.
Packages:Django>=1.8, py-redis>=2.10.0

Don’t have a django project?

If you just want to run redisboard quickly do this:

pip install django-redisboard
redisboard

Don’t want to run on 0.0.0.0:8000? Run:

redisboard ip:port

Want a password that ain’t random (you might need to rm -rf ~/.redisboard first tho)? Run:

redisboard --password=foobar

Installation guide

Install from pypi, with pip:

pip install django-redisboard

Or with setuptools:

easy_install django-redisboard

Add redisboard to INSTALLED_APPS:

INSTALLED_APPS += ("redisboard", )

After that you need to run:

manage.py migrate

Then you can add redis servers in the admin. You will see the stats in the changelist.

Redisboard has few css tweaks for the pages (they are optional). If you use staticfiles just run:

manage.py collectstatic

If you do not use django.contrib.staticfiles you must manually symlink the site-packages/redisboard/static/redisboard dir to <your media root>/redisboard.

Optional django settings

REDISBOARD_DETAIL_FILTERS

REDISBOARD_DETAIL_FILTERS - a list of regular expressions to match against the keys in the server details colum. Eg, to only show uptime and list of active databases:

REDISBOARD_DETAIL_FILTERS = ['uptime.*', 'db.*']

To show all the details just use:

REDISBOARD_DETAIL_FILTERS = ['.*']

REDISBOARD_ITEMS_PER_PAGE

REDISBOARD_ITEMS_PER_PAGE - default 100. Used for paginating the items from a list or a sorted set.

REDISBOARD_SOCKET_TIMEOUT

REDISBOARD_SOCKET_TIMEOUT - default None. Socket operations time out after this many seconds.

REDISBOARD_SOCKET_CONNECT_TIMEOUT

REDISBOARD_SOCKET_CONNECT_TIMEOUT - default None. Socket connect operation times out after this many seconds.

REDISBOARD_SOCKET_KEEPALIVE

REDISBOARD_SOCKET_KEEPALIVE - default None. Enables or Disables socket keepalive.

REDISBOARD_SOCKET_KEEPALIVE_OPTIONS

REDISBOARD_SOCKET_KEEPALIVE_OPTIONS - default None. Additional options for socket keepalive.

Screenshots

Changelist:

https://raw.githubusercontent.com/ionelmc/django-redisboard/master/docs/changelist.png

Inspect:

https://raw.githubusercontent.com/ionelmc/django-redisboard/master/docs/inspect.png

Inspect key details:

https://raw.githubusercontent.com/ionelmc/django-redisboard/master/docs/inspect-key.png

Development

To run the all tests run:

tox

Changelog

4.0.0 (2018-11-01)

  • Fixed typo in inspect.html template to reflect out.
  • Added Django 2.0 support. Contributed by Erik Telepovský in #33.
  • Converted the run_redisboard.py script to a redisboard bin and fixed Django 2.x issues.
  • Dropped support for Django older than 1.11.
  • Dropped support for Python older than 3.4 or 2.7.
  • Fixed issues with data being displayed as binary strings.
  • Fixed unwanted tag escaping. Contributed by Gilles Lavaux in #37.

3.0.2 (2017-01-19)

  • Fixed UnicodeDecodeError in “redisboard/admin.py” (fixes issue #15). Contributed by Erik Telepovský in #29.
  • Fixed TypeError in “redisboard/admin.py”. Contributed by gabn88 in #28.

3.0.1 (2016-09-12)

  • Add supportfor Django 1.10. Contributed by Vincenzo Demasi in #26.

3.0.0 (2015-12-17)

  • Drop support for Django < 1.8
  • Add support for Django 1.9. Contributed by gabn88 in #25.

2.0.0 (2015-11-08)

  • Fix error handling in couple places. Now pages don’t return 500 errors if there’s something bad going on with the redis connection.
  • Remove key stats that came from DEBUG OBJECT (LRU, Address, Length etc). Now OBJECT [REFCOUNT|ENCODING|IDLETIME] is used instead. BACKWARDS INCOMPATIBLE

1.2.2 (2015-10-11)

  • Exception handling for AWS ElastiCache Redis or any Redis that does not have DEBUG OBJECT command.
  • Enabled Redis keys to be inspected despite not having details from DEBUG OBJECT command.

1.2.1 (2015-06-30)

  • Fixed a bug on Python 3 (no xrange).
  • Fixed some issues the run_redisboard.py bootstrapper had with virtualenv.

1.2.0 (2015-02-21)

  • Add REDISBOARD_SOCKET_TIMEOUT, REDISBOARD_SOCKET_CONNECT_TIMEOUT, REDISBOARD_SOCKET_KEEPALIVE and REDISBOARD_SOCKET_KEEPALIVE_OPTIONS options.

1.1.0 (2015-01-21)

  • Fix broken slowlog display.

1.0.0 (2014-12-10)

  • Show slowlog and cpu usage and more memory stats (contributed by Rick van Hattem)
  • Use pipelines to send commands for faster response (contributed by Rick van Hattem)
  • Added Python 3.3 and 3.4 support.
  • Added a test suite and other minor fixes.

0.2.7 (?)

  • N/A.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-redisboard, version 4.0.0
Filename, size File type Python version Upload date Hashes
Filename, size django_redisboard-4.0.0-py2.py3-none-any.whl (19.6 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size django-redisboard-4.0.0.tar.gz (279.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page