Буквально недавно я начал создавать свой аналог сервиса Discord, используя веб-сокеты и передавая сообщения через очередь. В один из моментов мне понадобилось проверить, корректно ли проходят сообщения в этой очереди. Тогда я осознал, как неудобно каждый раз заходить в docker контейнер и вручную вводить команду для просмотра всех сообщений в топиках. После дня анализа и советов от моего коллеги, опытного DevOps-инженера Паши, я пришел к выводу, что kafka-ui от команды provectus — это наилучший и наиболее удобный инструмент для визуализации данных в Kafka. Для начала давайте настроем наш docker-compose под современные реалии kafka. Для этого у нас будет использоваться 2 основных образа zookeeper kafka В параметрах образа для ZooKeeper основное — это указание рабочего порта. Я также добавил параметр tick_time, который, хоть и не является обязательным, я по привычке всегда указываю. Вкратце, tick_time используется для синхронизации реплик и задания таймаутов различных операций. По конфигурации Kafka ситуация аналогичная: основное — это рабочий порт и базовые конфигурационные параметры, связанные с ZooKeeper. Но ключевым моментом здесь является работа с JMX (Java Management Extensions). JMX — это стандартные средства для мониторинга и управления приложениями, работающими на Java. В рамках Apache Kafka, JMX позволяет мониторить различные метрики работы брокера. Для наших нужд достаточно указать порт и имя хоста для JMX, который, как вы возможно догадались, в дальнейшем будет использоваться в kafka-ui. Последний этап — это настройка образа для kafka-ui. Ознакомившись с официальной документацией команды provectus, вы найдете множество шаблонов для kafka-ui в комбинации с другими сервисами. Однако, стартовый шаблон для связки Kafka, ZooKeeper и kafka-ui на официальном сайте отсутствует. Так что я предоставлю вам свою рабочую версию файла compose. Здесь, как вы можете увидеть, мы указываем рабочий порт, образ (image), который Docker должен загрузить, а также переменную "DYNAMIC_CONFIG_ENABLED". Она нужна, что неудивительно, для возможности изменения конфигурации вашего kafka-ui в реальном времени. С полным списком переменных окружения вы можете ознакомиться, перейдя по предоставленной  ссылке. После успешного запуска вашего docker-compose файла, вам нужно перейти на заданный вами порт для kafka-ui и увидеть следующую картину:  Теперь давайте добавим нашу kafka в kafka-ui. Для этого давайте нажмем на кнопку configure new cluster где вам нужно заполнить следующие поля: Cluster name - Можете указать просто как "Kafka Cluster" Bootstrap Servers - Суда вам внужно вписать PLAINTEXT://kafka:29092 ну или другое наименование в зависимости от вашей конфигурации параметра "KAFKA_ADVERTISED_LISTENERS" в kafka image. Соотвественно если у вас поднято несколько реплик кафки, вам нужно их всех вписать. Apache рекомендуют иметь 3 ноды с kafka на вашем проекте. Metrics metrics type -> JMX port -> 9997 ну или как вы указали в своей конфигурации После этого ваш Kafka кластер должен отобразиться в вашем GUI. Выглядит это примерно так: Самое важное в данном сервисе как по мне это функционал по просмотру топика внутри вашей кафки. Для этого нам нужно перейти во вкладку Topics и далее перейти во вкладку messages где мы сможем лицезреть полную информацию по каждому сообщению и фильтр для поиска специфичный сообщений.  Так же вы можете просматривать ваших consumer'ов и их группы во вкладке consumers.  Для просмотра конфигурации вам нужно перейти во вкладку Brokers и выбрать нужный вам брокер Далее переходим во вкладку Metrics и просматриваем всю нужную нам информацию. В процессе создания своего аналога сервисов Discord я столкнулся с необходимостью мониторить свою очередь сообщений в Kafka. Я искал удобный инструмент для этого, и благодаря совету моего коллеги Паши, DevOps инженера, я обратил внимание на kafka-ui от команды provectus. Этот интерфейс позволил мне легко отслеживать все сообщения в топиках без необходимости вручную входить в docker контейнер. Особо хочу отметить удобство и функциональность kafka-ui: просмотр сообщений в топиках, мониторинг consumer'ов и их групп, а также возможность просмотра конфигурации и метрик брокера. Используя этот инструмент, я значительно упростил процесс работы и диагностики своей системы. Если кто-то из вас работает с Kafka, рекомендую обратить внимание на kafka-ui!  Senior Java Developer at Kcell