Привет, Хабр!

Во второй части мы разобрали, как тестировать микросервисы с кафкой. В этой части – лайфхаки при работе с 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)


  1. fc-spitfire
    13.05.2025 10:46

    После грефневой кафки тарелку мойте сразу


  1. Foxcool
    13.05.2025 10:46

    Вспоминаю, как порой геморройно пирогами что-то связанное с кафкой после длительного перерыва. И все может казаться всратым и не удобным. И вот иметь подобные туториалы в обсидиан может быть полезным. Спасибо!