
Ваш Kafka lag врёт: как настроить алерты по реальной задержке, а не по числу сообщений
kmoseenk 7 минут назад Ваш Kafka lag врёт: как настроить алерты по реальной задержке, а не по числу сообщений Средний 12 мин 220 Блог компании OTUS Apache * DevOps * Туториал Перевод Автор оригинала: Krzysztof Grajek...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. kmoseenk 7 минут назад Ваш Kafka lag врёт: как настроить алерты по реальной задержке, а не по числу сообщений Средний 12 мин 220 Блог компании OTUS Apache * DevOps * Туториал Перевод Автор оригинала: Krzysztof Grajek Ваш алерт срабатывает в 3 часа ночи: «Группа потребителей orders-processor отстает на 50 000 сообщений». Вы в тревоге бросаетесь к ноутбуку. Это отставание на 10 секунд, 10 минут или 10 часов?
Вы открываете дашборд – там всё те же 50 000 сообщений. Но что это на самом деле означает для ваших пользователей? Метрика, за которой следят все, – смещение лага – почти ничего не говорит о реальном состоянии потребителя.
Технические детали
Отставание в 1 000 сообщений может означать задержку в 1 секунду или в 1 день – всё зависит от пропускной способности топика. И именно это число обычно крупно отображается на дашбордах. Метрика, которая действительно важна, – временной лаг, то есть на сколько секунд ваш потребитель фактически отстает.
Но большинство инструментов мониторинга либо не показывают её вовсе, либо делают это неточно. Давайте разберемся, почему так происходит и что с этим можно сделать. Иллюзия offset lagНачнем с основ.
Offset lag вычисляется так:offset_lag = latest_offset - committed_offsetГде:latest_offset – позиция следующего сообщения, которое будет записано committed_offset – позиция, до которой потребитель уже обработал сообщенияПросто, правда? Два числа, вычли одно из другого – готово. Именно из-за этой простоты все инструменты мониторинга его и показывают.
Отраслевые последствия
Kafka Admin API напрямую возвращает оба значения – не нужно читать сообщения, разбирать таймстемпы, только метаданные. Но именно здесь всё начинает ломаться. Offset lag полностью оторван от времени.
Рассмотрим два сценария:СценарийЛаг по offsetЧто это на самом деле означаетТопик с высокой пропускной способностью(10 000 сообщений/сек)50 000Отставание на 5 секундТопик с низкой пропускной способностью(10 сообщений/час)50Отставание на 5 часовОдин и тот же тип метрики, но принципиально разная критичность. Тот самый ночной алерт на 50 000 сообщений? В нагруженном топике дежурный инженер может зря потерять сон.
А в малонагруженном топике даже 50 сообщений могут означать, что ваш потребитель не работает уже несколько дней. Ловушка «простаивающего продюсера»Дальше – хуже. Что происходит, когда продюсер перестает отправлять сообщения?
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





