Чтобы добавить в наши курсы для администраторов кластера Apache Kafka и разработчиков распределенных приложений еще больше полезных обучающих материалов, сегодня рассмотрим новый инструмент мониторинга системных метрик этой платформы потоковой передачи событий. Что такое проект Iris и чем он отличается от других популярных средств мониторинга состояния Apache Kafka, о которых мы писали здесь.
Еще раз о важности мониторинга за кластером Apache Kafka
При том, что Apache Kafka является высоконадежной платформой потоковой передачи событий, она, как и другие системы, тоже подвержена сбоям: несколько брокеров могут выйти из строя из-за проблем с подключением к серверу, а лидеры могут стать недоступны, если откажет минимальное количество синхронизированных реплик. Такие события сбоя можно диагностировать по конкретным характерным данным телеметрии. В частности, растет время отклика сообщений и/или события начинают отставать, т.е. их время обработки сильно запаздывает относительно реального времени происхождения. Это приводит к превышению порога повторных попыток и истечению времени ожидания. Поэтому дата-инженеру и администратору кластера важно следить за состоянием Apache Kafka, чтобы обеспечить бесперебойную работу брокеров, не прерывая работу клиентов.
Для этого существует множество инструментов мониторинга системных метрик, например, Confluent Control Centre, Lenses, Datadog Kafka Dashboard, Cloudera Manager, CMAK, KafDrop, LinkedIn Burrow и Kafka Tool. О том, как они работают, мы рассказывали здесь и здесь. Впрочем, этот список не исчерпывающий: ввиду популярности Apache Kafka спрос на продукты, встраивающиеся в ее экосистему, тоже растет. Появляются новые средства мониторинга системных событий, одним из которых является проект с открытым исходным кодом Iris. Что он собой представляет и чем отличается от вышеупомянутых аналогов, рассмотрим далее.
Что такое Iris и как он работает
Iris предлагает динамическое решение для наблюдения за платформой Apache Kafka в режиме реального времени, сравнения текущие системные метрики с исторически зарегистрированными данными, чтобы гарантировать эффективную работу брокеров сообщений. Этот продукт с открытым исходным кодом от индийской ИТ-компании OSLabs выпущен в конце лета 2022 года. Написанный почти полностью на Javascript, Iris стремится заполнить пробел между коммерческими сервисами системного мониторинга типа DataDog и бесплатными инструментами, такими как Prometheus, упрощая ручную настройку дэшбордов. Iris предоставляет контейнерную среду Docker с настраиваемым контейнером Kafka. Пакет предоставляет разработчикам возможность отображать и регистрировать показатели работоспособности брокера в режиме реального времени, включая диагностику сервера, измерение пропускной способности загрузки сообщений и задержки журнала, а также регистрацию ошибок подключения.
Пользовательский интерфейс Iris быстро настраивается и мгновенно начинает отслеживать состояние брокеров Apache Kafka, динамически отображая следующие показатели:
- количество входящих и исходящих сообщений в секунду для мониторинга потока данных брокера и задержки;
- частота запросов и размер очереди для диагностики возможных застоев в выполнении запроса;
- количество разделов для понимания доступности ввода/вывода данных;
- реплицированные разделы для сравнения синхронизированных реплик со стандартной конфигурацией;
- сеть брокеров и активность ввода-вывода для измерения разумной продолжительности процессов.
Разработчики могут сами выбирать, какие показатели в реальном времени надо анализировать и в каких временных рамках. Несколько отдельных линейных диаграмм могут быть отображены в пользовательской ленте с помощью настраиваемого графического интерфейса. При этом данные постоянно записываются в реляционную базу, сконфигурированную для простого извлечения существующих данных. Iris позволяет разработчику просматривать эти исторически зарегистрированные данные с помощью SQL-запросов. Таким образом, можно сравнивать данные за прошлые периоды с текущими в режиме реального времени.
В ближайшем будущем разработчики Iris планируют добавить новые ключевые показатели мониторинга системных метрик Apache Kafka и оптимизировать пользовательский интерфейс. Также ведется работа над размещением Iris в среде AWS EC2, чтобы снизить зависимость от платформы. О другом подобном инструменте мониторинга читайте в нашей новой статье.
Узнайте больше про администрирование и эксплуатацию Apache Kafka для потоковой аналитики больших данных на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:
Источники