Раздел 26 · Data Engineering

Мониторинг и эксплуатация: лаг консьюмера

junior~15 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

В прошлом уроке мы видели, как контроллер сам чинит кластер после падения брокера. Но одна беда приходит тихо и без ошибок в логах. Пятничным вечером Отто открывает табло статусов и видит заказ «создан», хотя курьер уже у двери клиента. Kafka работает, табло работает, просто табло не успевает. Сегодня про то, как это заметить раньше Отто.

Стопка писем на столе

Секретарь разбирает почту. Письма приносят в течение дня, и они ложатся стопкой на стол. Пока секретарь успевает, стопка маленькая. Если писем стало больше или секретарь отвлёкся, стопка растёт.

Начальнику не так важно, сколько писем лежит прямо сейчас: десять писем после обеда это нормально. Важно другое. Растёт ли стопка час за часом? И сколько ждёт самое старое письмо в ней? Если оно лежит с утра, кто-то уже недоволен.

У консьюмера Kafka тоже есть такая стопка.

Лаг

Лаг это число записей, которые группа ещё не обработала. Мы встречали его в уроке про оффсеты: конец партиции минус закоммиченный оффсет группы. Лаг считается для каждой партиции отдельно, и у каждой группы свой.

Смотрят его той же командой, что и закладки:

kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group status-board

В колонке LOG-END-OFFSET конец партиции, в CURRENT-OFFSET закладка группы, в LAG их разница. Если у группы нет закладки на партиции, в CURRENT-OFFSET и LAG стоит прочерк.

Лаг в записях удобно считать, но он не говорит главного: насколько табло отстаёт по времени. Сто записей у табло, которое обрабатывает тысячу записей в секунду, это доли секунды. Те же сто записей у обработчика, который думает над каждой секунду, это почти две минуты. Поэтому рядом с лагом в записях следят за лагом во времени: сколько ждёт самая старая необработанная запись.

урок из курса

Урок из курса «Data Engineering». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.