Skip to content

EverythingMe/redshift_console

Repository files navigation

Redshift Console

Redshift Console's goal is to be the tool to monitor and manage a Redshift cluster. The first release has basic tools to monitor running queries, WLM queue and your tables/schemas.

After over a year of managing our Redshift cluster with a collection of scripts and queries, we decided to bundle this into a more user friendly tool that can be used by a wider audience. This project also aims to uncover all the useful information hidden in Redshift's Developer Guide (such as the table design status query).

Screenshots

Features

  • Inflight queries view with option to cancel any query and view related alerts (when available; from STL_ALERT_EVENT_LOG).
  • WLM queue view.
  • Schemas view with additional information for each table including: total size (rows/MB), unsorted area size, is the table properly distributed and more.
  • Load errors (aggregated view) from the past 24h, based on STL_LOAD_ERRORS

Roadmap

This project is safe for usage, but still in its early stage (version 0.1). Future versions will include:

  • Loads - Progress of current operations and history of recent ones.
  • Vacuum status.
  • SNS/CloudWatch integration to show metrics and events from AWS' console.
  • Proactive notifications re. important events in the system: long running queries, problems, changes to the schema, dangerous levels of unsorted areas and more.

We are always happy to receive feedback and suggestions, especially if they are accompanied by a pull request.

Usage

You can either use the PyPI package or the docker image.

PyPI

  1. The easiest way to install the project is from pypi:
$ pip install redshift-console
  1. Settings are set from environment variables. The main setting to set is the connection string to your Redshift cluster: (make sure the user has sufficient permissions)
$ export REDSHIFT_CONNECTION_STRING='user= password= host= port= dbname='
  1. Start the server:

    $ redshift-console runserver
    Starting server on port 5000 (debug mode: False).

Docker

 $ docker run -e REDSHIFT_CONNECTION_STRING="user= password= host= port=5439 dbname=" -p 5000:5000 everythingme/redshift_console
 Starting server on port 5000 (debug mode: False).

Authors

Arik Fraimovich and Oren Itamar.