У нас есть несколько производителей и несколько потребителей, подключенных через Kafka — в основном это задания пакетной обработки, которые создаются по запросу, ставятся на Kafka в несколько очередей, а пакетные процессоры их забирают через Kafka и обрабатывают по одному.
Я хочу визуализировать и контролировать длину этих очередей в Kafka. Длины очередей будут служить прокси для «нагрузки» всей системы. Чем больше заданий ожидает в очереди, тем более «нагружена» система.
Наша Kafka — это кластер AWS MSK. Я включил мониторинг Prometheus JMX и собираю все метрики каждые 10 секунд.
Глядя на показатели, нет ничего очевидного с точки зрения длины очереди. Является ли этот параметр метрикой по умолчанию?
Если длина очереди не отображается по умолчанию, как можно собрать эту метрику? Предположим, я могу написать скрипт Python с любыми установленными библиотеками, и у меня есть полный доступ к конечным точкам Kafka из него.
Примечание. Я понимаю основные понятия, но у меня нет большого практического опыта работы с Kafka (раньше я использовал только RabbitMQ), поэтому прошу прощения, если мой словарь не очень точен. Например. то, что я назвал «очередью», по-видимому, называется «темой».