redis-hawk: детализированное отслеживание и контроль развертывания Redis

Redis  —  это хранилище структур данных в памяти с поддержкой масштабируемости, которое работает с самыми разными приложениями. И популярность его только растет. Но с ростом популярности приходит и большая ответственность.

redis-hawk  —  это оптимизированная и стабильная платформа для отслеживания и контроля, предоставляющая пользователям данные о производительности (ретроспективные и в режиме реального времени), необходимые для использования всех возможностей развертывания Redis.

Первый выпуск Redis состоялся в 2009 году, и с тех пор это хранилище с открытым исходным кодом получило широкое распространение. Все больше пользователей отдают предпочтение этому решению благодаря поддержке постоянного хранения данных, высокой производительности (время отклика составляет менее одной миллисекунды, что позволяет выполнять миллионы запросов в секунду для приложений реального времени) и легкости масштабирования. И как следствие  —  увеличение количества развертываний на уровне организаций (а это огромный рост по масштабу и рабочей нагрузке в режиме реального времени). Все это создало повышенный спрос на усовершенствованные средства отслеживания и контроля, позволяющие разработчикам и администраторам понять, как им наилучшим образом оптимизировать свои информационные экосистемы.

Прежде чем переходить к рассмотрению redis-hawk как идеальной платформы для отслеживания и контроля развертывания Redis, расскажем вкратце о том, что такое и как используется Redis.

Что такое Redis?

Redis (расшифровывается как REmote DIctionary Server)  —  это база данных в оперативной памяти, которая постоянно хранится на диске. Redis используется в качестве «сервера структур данных» и задействует модель «сервер-клиент» для обеспечения доступа к изменяемым структурам данных (но не через запросы к базе данных, а с помощью команд). Он развертывается как распределенная база данных, кеш или брокер сообщений.

В целях экономного потребления памяти Redis применяет модель «ключ-значение», используя такие структуры данных, как строки, списки, множества, хеши и карты. Данные хранятся на диске и работа с ними / изменение данных осуществляется в памяти сервера, поэтому Redis быстр и стабилен.

Модель данных Redis сильно отличается от типичных систем реляционных баз данных. Команды пользователя здесь  —  это не запросы к ядру базы данных, а команды, относящиеся к тому или иному типу данных. Данные хранятся в определенных структурах «ключ-значение» для быстрого их получения без необходимости в дополнительном индексировании или организационных структурах типа таблиц или соединений, типичных для реляционных баз данных.

Благодаря времени отклика, которое при оптимизации структуры данных не превышает одной миллисекунды, и доступу в памяти, а также стабильности постоянного хранения данных на диске при гибкости распределенной модели Redis является популярным решением для больших платформ распределенных данных, требующих скорости отклика в реальном времени.

Например, Redis обычно используется для турнирных таблиц в онлайн-играх, интернет-магазинов с большими объемами транзакций и событиями, связанными с учетом товарно-материальных ценностей. А еще для распределенного управления данными публикации/подписки в решениях, задействующих технологию Интернета вещей. И это лишь малая часть из того, где применяется Redis.

Простота развертывания, производительность, стабильность и распространяемость  —  вот преимущества Redis, которые привели его к вершинам рейтинговых опросов. С 2013 года Redis демонстрирует неуклонный рост в рейтингах популярности СУБД на db-engines.com. По итогам опроса разработчиков, ежегодного проводящегося на Stack Overflow, Redis признавалась «самой любимой» базой данных четыре года подряд (начиная с 2016 года).

Итак, Redis  —  идеальное решение…

Redis относительно проста в развертывании, стабильна и быстра, что сделало ее лучшей для инженеров. Однако при управлении развертыванием Redis имеются трудности, характерные для хранения данных и управления ими, особенно при масштабировании на уровне организаций.

Одна из таких трудностей  —  это отслеживание и контроль потока данных для выявления и устранения проблем и для оптимизации систем. В Redis нет целостного, интегрированного решения для отслеживания и контроля за перемещением данных между дисковым хранилищем и памятью сервера, что создает проблемы для разработчиков при выявлении недостатков проектирования систем.

redis-hawk приходит на помощь!

redis-hawk, подобно пикирующему ястребу, стремится на выручку! redis-hawk  —  это платформа с открытым исходным кодом для отслеживания и контроля, призванная помочь инженерам заглянуть под капот и прямо увидеть, что происходит с потоком данных при развертывании Redis. Она дает возможность отследить события в пространстве ключей в режиме реального времени и в ретроспективе и выявить конкретные проблемы в сборке Redis.

Характеристики платформы

redis-hawk  —  это простое в использовании веб-приложение для отслеживания, контроля и визуализации, позволяющее детально разобрать на уровне ключей подробности развертывания Redis. Оно используется локально на рабочем столе или на сервере для непрерывного, удаленного отслеживания и контроля. redis-hawk позволяет отслеживать пространство ключей и его события во всех базах данных любого количества развернутых экземпляров, а именно:

  • просматривать сведения о каждом пространстве ключей при развертывании Redis;
  • просматривать журнал событий, происходящих в каждом пространстве ключей;
  • просматривать графики для понимания объемов ключей и событий за то или иное время;
  • применять гибкие фильтры для проведения фильтрации на основе шаблона имени ключа, того или иного типа данных и/или типа события.

Онлайн-решения и решения для больших данных становятся все более масштабными и сложными. В последние годы эта тенденция только ускорилась. Востребованность быстрых, стабильных и масштабируемых систем делает Redis идеальным решением для инженеров и администраторов. И redis-hawk  —  это идеальная платформа для отслеживания и контроля развертываний Redis, которая обеспечивает их оптимизацию с точки зрения роста, скорости и надежности.

Итак, приступим

redis-hawk  —  это веб-приложение, запускающееся локально или развертывающееся на сервере для непрерывного, удаленного отслеживания и контроля. Прежде чем приступать к работе, перейдите на наш GitHub и загляните в README.md, там подробно расписан весь наш функционал!

Наш репозиторий на Github.

Читайте также:

Читайте нас в Telegram, VK и Яндекс.Дзен


Перевод статьи Abigail Gjurich: redis-hawk: granular Redis monitoring

Предыдущая статьяПодробный разбор методов Ruby
Следующая статьяКак создавать надежные SSL-сертификаты для локальной разработки