Привет, Хабр!
Во второй части мы разобрали, как тестировать микросервисы с кафкой. В этой части – лайфхаки при работе с offset explorer и kafka ui в формате чек-листа для удобства периодического возвращения к статье при необходимости.
Когда вы впервые подключаетесь к кластеру Kafka или продолжаете работу с ним, могут возникать различные трудности. Перед тем, как обращаться к разработчику, DevOps-у или коллеге-тестировщику, проверьте эти пункты, возможно, проблема на вашей стороне. А даже если не на вашей, вы точнее определите проблему ?
1. Пропали топики (раньше топики отображались, а теперь нет, хотя параметры подключения не менялись)

Проблемы с доступом. Истёк срок действия сертификата (SSL) или проблема с кредами (доступ мог быть временным);
Некорректный сертификат. Например, если вы клонировали Connect и заменили сертификаты, в следующий раз при запуске приложения offset explorer может об этом «забыть»;
VPN. Доступ к кластеру может требовать VPN. Если у вас их несколько (например, корпоративный и проектный), при одновременном подключении один из них может блокировать доступ к сервисам.
2. Нет доступа к чтению топика
Вы подключаетесь под кредами продюсера вместо консьюмера;
Как может выглядеть ошибка:

Сертификат просрочен (ошибка SSL явно укажет на это).
Пример:

3. Не удаётся подключиться к кластеру
Кластер мог быть перенесён на другие хосты (например, в целях безопасности);
Проверьте VPN.
Примеры ошибок:


4. Сообщения не приходят после N даты/времени или топик пуст
Продюсер перестал отправлять данные, проблема на его стороне (упал/пропал доступ);
Настроена подгрузка сообщений на oldest (старые сообщения подгружаются в первую очередь, поэтому не видно новых);
Как настройка выглядит в offset explorer:

Вы подключены к неактуальному кластеру (например, после миграции);
Истёк срок хранения сообщений в топике.
5. Проблемы с форматом данных
В десктопном клиенте можно заранее настроить string или json для корректного отображения сообщений (если вы уверены, что во всех топиках ожидаете этот формат). Перейдите в Tools -> Settings -> Topics;

Если по умолчанию выбран формат hex, Kafka не сможет провалидировать даже первую фигурную скобку вашего json.
Настройка:

Возможная ошибка:

6. Не могу найти сообщение
Нажмите на зелёную кнопку (в десктопе), либо перезагрузите страницу на UI;
Убедитесь, что ищете по всему топику, а не по конкретной партиции;
Убедитесь, что подгружено достаточное количество сообщений (в offset explorer по дефолту стоит 50 на топик/партицию), это параметр Max Messages. В нагруженных системах количество может быть несколько тысяч в час, а вы, например, подгружаете последние 50.

7. Особенности работы в десктопном клиенте
Заголовки. Если допущена ошибка при добавлении заголовка, его необходимо удалить и добавить заново;

Редактирование сообщений. При изменении содержимого сообщения отмена через комбинацию клавиш Ctrl+Z не работает. Лучше хранить текстовые данные в стороннем редакторе, например, в блокноте, и только после проверки переносить их в топик;
Стоит настроить подгрузку из топика не только как Newest, но еще и добавить сортировку по столбцу Timestamp, чтобы не было так, что подгружены последние 50 сообщений в рандомном порядке. Я настраиваю всегда так, чтобы самые новые сообщения были первыми в списке.

На этом лайфхаки закончились, терпения и успешного взаимодействия с кафкой при тестировании!
Комментарии (2)
Foxcool
13.05.2025 10:46Вспоминаю, как порой геморройно пирогами что-то связанное с кафкой после длительного перерыва. И все может казаться всратым и не удобным. И вот иметь подобные туториалы в обсидиан может быть полезным. Спасибо!
fc-spitfire
После грефневой кафки тарелку мойте сразу