Рейтинг:0

Kafka: мониторинг длины очередей/топиков

флаг in

У нас есть несколько производителей и несколько потребителей, подключенных через Kafka — в основном это задания пакетной обработки, которые создаются по запросу, ставятся на Kafka в несколько очередей, а пакетные процессоры их забирают через Kafka и обрабатывают по одному.

Я хочу визуализировать и контролировать длину этих очередей в Kafka. Длины очередей будут служить прокси для «нагрузки» всей системы. Чем больше заданий ожидает в очереди, тем более «нагружена» система.

Наша Kafka — это кластер AWS MSK. Я включил мониторинг Prometheus JMX и собираю все метрики каждые 10 секунд.

Глядя на показатели, нет ничего очевидного с точки зрения длины очереди. Является ли этот параметр метрикой по умолчанию?

Если длина очереди не отображается по умолчанию, как можно собрать эту метрику? Предположим, я могу написать скрипт Python с любыми установленными библиотеками, и у меня есть полный доступ к конечным точкам Kafka из него.

Примечание. Я понимаю основные понятия, но у меня нет большого практического опыта работы с Kafka (раньше я использовал только RabbitMQ), поэтому прошу прощения, если мой словарь не очень точен. Например. то, что я назвал «очередью», по-видимому, называется «темой».

флаг de
а) этот вопрос здесь неуместен. б) в kafka у каждого потребителя есть свое «последнее посещение», поэтому вам нужно отслеживать последнее событие - последнее посещение для каждого потребителя.
Florin Andrei avatar
флаг in
@kofemann Спасибо за советы. Будет ли SuperUser лучше подходить для этого вопроса?
флаг de
Для меня вопрос звучит как вопрос программирования. Я думаю, что stackoverflow, вероятно, подходит лучше.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.