Обновляя наши курсы для администраторов Apache Kafka, в этой статье разберем полезные средства, которые помогут вам следить за состоянием кластера, чтобы вовремя заметить существующие и предупредить возможные проблемы. Читайте далее, как отследить снижение производительности всей Big Data системы и сбои на отдельных брокерах с помощью дэшбордов в различных инструментах администрирования.
Как следить за Kafka-кластером: 8 полезных инструментов
Подобно авиадиспетчеру, дата-инженер и администратор непрерывно следят за множеством параметров Kafka-кластера, отслеживая показатели производительности брокеров, продюсеров и потребителей, особенности наполнения топиков и прочие важные метрики. Разумеется, все это выполняется не через ручные команды CLI-интерфейса, а автоматически отображается с помощью удобных и наглядных информационных панелей. Эти дэшборды наглядно рисуют графики и показывают цифры, а также позволяют управлять Кафка-кластером, например, задавать конфигурационные настройки и загружать данные в топики.
Сегодня наиболее популярными решениями для администрирования кластеров Apache Kafka можно назвать следующие [1]:
- Confluent Control Centre;
- Lenses;
- Datadog Kafka Dashboard;
- Cloudera Manager;
- CMAK;
- KafDrop;
- LinkedIn Burrow;
- Kafka Tool.
Что представляет собой каждый из этих инструментов, мы кратко рассмотрим далее. А про еще одно средство мониторинга с открытым исходным кодом, выпущенное летом 2022 года, читайте в нашей новой статье.
Confluent Control Centre
Решение от изначальных разработчиков самой Apache Kafka, компонент коммерческого решения Confluent Platform. Confluent Control Center – это система централизованного управления кластером Кафка, которая обеспечивает мониторинг и администрирование из пользовательского интерфейса. Control Center предоставляет наглядные дэшборды, на которых отражаются всевозможные показатели работающей системы, чтобы администратор мог настроить оптимальную производительность и соблюдать SLA для кластеров [2].
Lenses
Инструмент, который дополняет платформу Кафка с помощью пользовательского интерфейса, потокового механизма SQL и мониторинга кластеров, обеспечивая быстрый мониторинг конвейеров данных и видимость потоков данных. Lenses работает с любым дистрибутивом фреймворка, включая доступ к данным и потокам в реальном времени в режиме самообслуживания (self-service) на Kubernetes. Для dev-сред отлично подойдет Lenses Box – бесплатный универсальный Docker-образ, который может обслуживать до 25 миллионов сообщений на одном брокере [3]. Также Lenses предлагает Kafka topics UI – веб-инструмент для прокси-сервера Confluent, REST Proxy к Кафка, о котором мы рассказывали здесь. Он позволяет искать топики, просматривать их метаданные и сами сообщения, а также загружать данные. Средство можно свободно скачать с Github [4].
Администрирование кластера Kafka
Код курса
KAFKA
Ближайшая дата курса
9 декабря, 2024
Продолжительность
24 ак.часов
Стоимость обучения
72 000 руб.
Datadog Kafka Dashboard
Готовое комплексное решение, объемная информационная панель. Она отображает ключевые показатели производительности брокеров, продюсеров и потребителей Kafka. Также дэшборд от Datalog включает метрики работы сторонних компонентов всего конвейера данных, в частности, Apache Zookeeper [5], что до сих пор актуально в production-развертываниях Кафка из-за экспериментального режима Quorum Controller, реализованного в KIP-500 в марте 2021 года.
Cloudera Manager
Этот инструмент предоставляет меньше возможностей по сравнению с предыдущими аналогами, но отлично подходит для компаний, которым нужно единое средство мониторинга на одной платформе. Полезно при использовании дистрибутива Apache Hadoop от Cloudera [6].
CMAK (бывший Yahoo Kafka Manager)
Cluster Manager for Apache Kafka от Yahoo – гибкое управление кластерами, топиками и пользователями, а также мониторинг рабочих показателей брокеров, продюсеров и потребителей. Ранее CMAK назывался Yahoo Kafka Manager, но в январе 2020 года был переименован. Сегодня проект находится под управлением Verizon Media и сообщества. Доступен для свободной загрузки с Github [7].
KafDrop
Пользовательский интерфейс с открытым исходным кодом для мониторинга Кафка-кластеров, который отображает информацию о брокерах, топиках, разделах и позволяет просматривать сообщения. Это легкое приложение на Spring Boot требует совсем немного настроек. Доступно на Github [8].
LinkedIn Burrow (Kafka Consumer Lag Checking)
Средство мониторинга для Кафка от LinkedIn, позволяющее проверить задержки потребителя без необходимости указывать пороговые значения. Инструмент отслеживает фиксированные смещения для всех потребителей и вычисляет их статус по запросу через HTTP. Также можно настроить отправку уведомлений по электронной почте или через HTTP-вызовы в сторонний сервис. Burrow поддерживает несколько кластеров Kafka, включая отслеживание фиксированных смещений Kafka и Zookeeper, автоматически отслеживая всех потребителей. Важно, что Burrow написан на Go, поэтому перед началом его использования следует установить и настроить Go [9].
Kafka Tool (Offset Explorer)
Приложение для управления кластерами Кафка с понятным пользовательским GUI, который позволяет быстро просматривать объекты кластера и сообщения в топиках. Инструмент пригодится как администраторам, так и разработчикам. Из наиболее интересных функций стоит отметить интеграцию с Apache Storm для просмотра смещений потребителей, возможность сохранения отдельных сообщений из разделов Кафка на локальный жесткий диск и поддержку пользовательских форматов данных через создание собственных плагинов. Инструмент работает в Windows, Linux и Mac OS [10].
Apache Kafka для инженеров данных
Код курса
DEVKI
Ближайшая дата курса
20 января, 2025
Продолжительность
24 ак.часов
Стоимость обучения
72 000 руб.
Таким образом, каждый из рассмотренных инструментов весьма полезен для дата-инженера и администратора Кафка-кластера, а также пригодится разработчику распределенных систем на базе этого фреймворка. При том, что базовые функциональные возможности всех этих инструментов аналогичны, для крупных Big Data систем и корпоративных Kafka-кластеров рекомендуется выбирать коммерческие лицензии. Например, варианты от Confluent и Lenses. Для бесплатного использования отлично подойдет CMAK с его широким набором функций, но также можно использовать и прочие рассмотренные средства: LinkedIn Burrow, KafDrop и Kafka Tool [1]. Читайте в нашей новой статье про еще 2 легковесных инструмента мониторинга за состоянием кластера на базе KafkaJS и системы мониторинга с базой данных временных рядов Prometheus. А здесь мы рассматриваем возможность применения этих средств для мониторинга встроенных и пользовательских метрик приложений Kafka Streams.
Освойте тонкости администрирования кластеров Apache Kafka и разработки распределенных приложений потоковой аналитики больших данных на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:
- Администрирование кластера Kafka
- Apache Kafka для инженеров данных
- Администрирование Arenadata Streaming Kafka
- https://towardsdatascience.com/overview-of-ui-monitoring-tools-for-apache-kafka-clusters-9ca516c165bd
- https://www.confluent.io/product/confluent-platform/gui-driven-management-and-monitoring/
- https://lenses.io/product/features/
- https://github.com/lensesio/kafka-topics-ui
- https://www.datadoghq.com/dashboards/kafka-dashboard/
- https://github.com/yahoo/CMAK
- https://www.cloudera.com/documentation/enterprise/latest/topics/kafka_tour.html
- https://github.com/HomeAdvisor/Kafdrop
- https://github.com/linkedin/Burrow
- http://www.kafkatool.com/