Я создаю инструмент мониторинга оповещений для Kafka.
Я понимаю, что могут быть показатели, для которых пороговые значения зависят от данных приложения.Но меня интересуют только те метрики и пороговые значения, которые помогут мне узнать отставание и помогут определить, требуется ли какое-либо масштабирование.
На данный момент я могу делать следующее:
- Включить JMX на Kafka Broker
- Fecth JMX метрики с помощью клиента JMX Java или jCOnsole.
Затем я исследовал и нашел так много метрик, но ни у одного из них не было полных пороговых значений (например, какое-то значение или шаблон, например, увеличение или уменьшение или может быть некоторая математика), по которым я должен написать свою логику для метрик.
Несколько примеров:
UnderReplicatedPartitions - оповещение, если значение больше 0.
records-lag-max - оповещение, если значение увеличивается со временем.
OfflinePartitionsCount - оповещение, если значение больше нуля
ActiveControllerCount - оповещение, если значение отличается от 1.