redis-hawk: granular Redis monitoring

The Hunt for redis-hawk is Over

Abigail Gjurich
4 min readJun 3, 2021
Photo by Martin Adams on Unsplash

Redis is an increasingly popular in-memory data structure store with a broad range of applications and scalability. But with great power comes great responsibility.

Enter redis-hawk, an optimized and stable monitoring platform that gives users the real-time and historical performance data needed to get the most from Redis deployments.

Since its open-source release in 2009, Redis has gained traction as a preferred solution because of its data persistence, high-performance (delivering sub-millisecond response times that enable millions of requests per second for real-time applications) and ease of scalability. This has led to increasing deployments on enterprise-level that are massive in scale and real-time workload. All of which has created increasing demand for improved monitoring tools that can give developers and administrators insight into how to best optimize their data ecosystems.

Before we get into how redis-hawk is the perfect platform for monitoring Redis deployments, let’s get a quick overview of what Redis is and how it is used.

Wait, wait, wait… What is Redis?

Redis (which stands for REmote DIctionary Server) is an in-memory database that persists on disk. Used as a “data structures server”, Redis uses a server-client model to provide access to mutable data structures via a set of commands (as opposed to database queries). It can be deployed as a distributed database, cache and message broker.

Redis applies a key-value model for memory efficiency using data structures such as strings, lists, sets, hashes and maps. Data is stored on disk and served/modified in server memory, so Redis is fast and stable.

The Redis data model is very different from typical relational database systems. User commands are not queries to the database engine, but data-type specific commands. Data is stored in specific key-value structures as mentioned above for fast retrieval without the need for additional indexing or organizational structures like tables or joins common to relational databases.

Because of its sub-millisecond response rate from data structure optimization and in-memory access, along with stability from persisting data on disc while having distributed model flexibility, Redis is a popular solution for large, distributed data platforms that require real time response rates.

For instance, Redis is commonly deployed for online gaming leaderboards, e-commerce sites with high-volumes of transaction and inventory events, as well as distributed, publish/subscribe data management for Internet of Things solutions — to name a few.

Easy deployment, performance, stability and distributability are benefits of Redis that have driven it to the top of survey rankings. Redis has shown steady growth in popularity since 2013 in db-engines.com’s systems survey. In Stack Overflow’s annual developer survey, Redis has been voted “most loved” database four years in a row (starting in 2016).

So, Redis Is The Perfect Solution… Right?

Redis is relatively easy to deploy, stable, and fast, which has made it a top choice for engineers, but there are challenges in managing a Redis deployment that are common to managing and storing data, particularly on enterprise-level scaling.

One of these challenges is monitoring the flow of data for troubleshooting and systems optimization. Redis has no holistic, integrated solution for monitoring how data moves between on-disk storage and server memory, creating challenges for developers to track down system design inefficiencies.

redis-hawk Can Help!

redis-hawk is swooping in to save the day! redis-hawk is an open-source monitoring platform designed to help engineers lift the hood and look directly at how data is flowing in a given Redis deployment. It provides real-time and historical tracking of keyspace events so that you can track down and identify specific issues in your Redis build.

Our Features

redis-hawk is an easy-to-use monitoring and visualizing web application for understanding granular key-level details for your Redis deployment. It can be used locally on your desktop or on a server for continuous and remote monitoring. redis-hawk allows you to monitor a keyspace and its events within all databases of any number of deployed instances. You can:

  • View details on every keyspace in your Redis deployment
  • View a log of keyspace events occurring in every keyspace
  • View graphs to understand both key and event volumes over time
  • Utilize flexible filters to filter based on a keyname pattern, specific data type, and/or event type.

Online and big data solutions are increasingly of greater scale and complexity, and this trend has only accelerated in recent years. The demand for systems that are fast, stable and scalable makes Redis an ideal solution for engineers and administrators. And redis-hawk is the perfect platform for monitoring those Redis deployments and ensuring they are optimized for growth, speed and reliability.

Getting Started

redis-hawk is a web application that you can either run locally or deploy on a server for continuous and remote monitoring. Head to our GitHub and take a look at our README.md to get started!

Contribute!

We’re certainly looking for contributions and collaborators. Please check out our GitHub README for our feature roadmap.

If you have a strategy you’ve implemented and you want to save other developers, please reach out to anyone of the redis-hawk team!

Our Github Repo

Team redis-hawk

Abigail Gjurich — LinkedIn | GitHub
Arthur Sato — LinkedIn | GitHub
James Espy — LinkedIn | GitHub
Wesley Jia — LinkedIn | GitHub

--

--

No responses yet