Подсчет сообщений также зависит от сжатия журнала.
Например, вы можете наблюдать «странные результаты», когда сжатие журнала эффективно для одной топи c. Допустим, у вас есть топи c myTopic
, в общей сложности 100 сообщений. Предполагая, что у вас есть политика сжатия журналов, которая вступает в силу сейчас, счет может быть уменьшен до 20 сообщений, поскольку старые сообщения были сжаты.
Чтобы получить количество сообщений на раздел, вы можете использовать следующую команду:
kafka-run-class kafka.tools.GetOffsetShell \
--broker-list localhost:9092 \
--topic myTopic
, и результат будет примерно таким, как показано ниже (при условии myTopic
имеет 3 раздела):
myTopic:2:34
myTopic:1:33
myTopic:0:33
В качестве альтернативы, для общей суммы вы можете использовать это:
./bin/kafka-run-class.sh kafka.tools.GetOffsetShell \
--broker-list localhost:2181 \
--topic myTopic \
--time -1 \
--offsets 1 \
| awk -F ":" '{sum += $3} END {print sum}'
Вы также можете найти Инструменты мониторинга Kafka полезными в данном контексте. Точнее, CMAK
(он же kafka-manager
) имеет один раздел в показателях о Суммированные недавние смещения