ВкратцеОтслеживайте метрики производительности Apache Kafka в ClickStack с помощью OTel JMX Metric Gatherer. Включает демо-набор данных и преднастроенную панель мониторинга.
Интеграция с существующим развертыванием Kafka
Необходимые условия
- Запущенный экземпляр ClickStack
- Имеющаяся установка Kafka (версии 2.0 или выше) с включенным JMX
- Сетевой доступ между ClickStack и Kafka (порт JMX 9999, порт Kafka 9092)
- JAR-файл OpenTelemetry JMX Metric Gatherer (инструкции по загрузке ниже)
1
Получите ключ API ClickStack
JMX Metric Gatherer отправляет данные в конечную точку OTLP ClickStack, которая требует аутентификации.- Откройте HyperDX по адресу вашего ClickStack (например, http://localhost:8080)
- Создайте учётную запись или войдите в систему при необходимости
- Перейдите в Team Settings → API Keys
- Скопируйте свой ключ API для приёма данных
- Задайте его как переменную окружения:
2
3
Убедитесь, что JMX в Kafka включен
Убедитесь, что JMX включен на ваших брокерах Kafka. Для Docker-развертываний:4
Развертывание JMX Metric Gatherer с помощью Docker Compose
В этом примере показана полная конфигурация с Kafka, JMX Metric Gatherer и ClickStack. Измените имена сервисов и конечные точки в соответствии с существующим развертыванием:service:jmx:rmi:///jndi/rmi://kafka:9999/jmxrmi- URL JMX-подключения (используйте имя хоста Kafka)otel.jmx.target.system=kafka- Включает метрики Kafkahttp://clickstack:4318- HTTP-конечная точка OTLP (используйте имя хоста ClickStack)authorization=\${CLICKSTACK_API_KEY}- API key для аутентификации (обязательно)service.name=kafka,kafka.broker.id=broker-0- Атрибуты ресурса для фильтрации10000- Интервал сбора в миллисекундах (10 секунд)
5
Проверьте метрики в HyperDX
Войдите в HyperDX и убедитесь, что метрики поступают:- Перейдите в Chart Explorer
- Найдите
kafka.message.countилиkafka.partition.count - Метрики должны появляться с интервалом 10 секунд
kafka.message.count- Общее количество обработанных сообщенийkafka.partition.count- Общее количество партицийkafka.partition.under_replicated- В исправном кластере должно быть 0kafka.network.io- Сетевая пропускная способностьkafka.request.time.*- Перцентили задержки запросов
При запуске команд клиента Kafka (kafka-topics, kafka-console-producer и т. д.) из контейнера Kafka добавляйте префикс
unset JMX_PORT &&, чтобы избежать конфликтов JMX-портов.Демо-набор данных
1
Скачайте пример набора данных с метриками
Скачайте заранее сгенерированные файлы метрик (29 часов метрик Kafka с реалистичной динамикой):- 06:00-08:00: Утренний всплеск - Резкий рост трафика от ночного базового уровня
- 10:00-10:15: Флеш-распродажа - Резкий скачок до 3.5x от обычного трафика
- 11:30: Событие развертывания - 12x всплеск отставания потребителя с недореплицированными партициями
- 14:00-15:30: Пик покупок - Стабильно высокий трафик на уровне 2.8x от базового
- 17:00-17:30: Всплеск после работы - Вторичный пик трафика
- 18:45: Перебалансировка потребителей - 6x всплеск отставания во время перебалансировки
- 20:00-22:00: Вечерний спад - Резкое снижение до ночных уровней
2
3
4
Проверьте метрики в HyperDX
После загрузки самый быстрый способ увидеть метрики — открыть преднастроенную панель мониторинга.Перейдите к разделу Панели мониторинга и визуализация, чтобы импортировать панель мониторинга и сразу увидеть все метрики Kafka.Отображение часового поясаHyperDX отображает временные метки в локальном часовом поясе вашего браузера. Демо-данные охватывают 2025-11-05 16:00:00 - 2025-11-06 16:00:00 (UTC). Установите временной диапазон 2025-11-04 16:00:00 - 2025-11-07 16:00:00, чтобы гарантированно увидеть демо-метрики независимо от вашего местоположения. После этого можно сузить диапазон до 24 часов для более наглядных визуализаций.
Панели мониторинга и визуализация
1
конфигурацию панели мониторинга
2
Импортируйте преднастроенный дашборд
- Откройте HyperDX и перейдите в раздел Dashboards
- Нажмите Import Dashboard в правом верхнем углу, в меню с многоточием
- Загрузите файл
kafka-metrics-dashboard.jsonи нажмите Finish Import
3
Откройте панель мониторинга
Панель мониторинга будет создана со всеми преднастроенными визуализациями:Для демо-набора данных установите временной диапазон 2025-11-05 16:00:00 - 2025-11-06 16:00:00 (UTC) (скорректируйте его в соответствии с вашим местным часовым поясом). По умолчанию у импортированной панели мониторинга временной диапазон не задан.
Устранение неполадок
Метрики не отображаются в HyperDX
Ошибки аутентификации
Authorization failed или 401 Unauthorized:
- Проверьте ключ API в интерфейсе HyperDX (Settings → API Keys → Ingestion API Key)
- Повторно экспортируйте переменные и перезапустите:
Конфликт портов при выполнении команд клиента Kafka
unset JMX_PORT &&:
Проблемы с подключением к сети
Connection refused:
Убедитесь, что все контейнеры находятся в одной сети Docker:
Следующие шаги
- Настройте оповещения для критически важных метрик (партиции с недостаточной репликацией, рост отставания потребителя, всплески задержки запросов)
- Создайте дополнительные панели мониторинга для конкретных сценариев использования (пропускная способность по топикам, мониторинг групп потребителей)
- Отслеживайте несколько брокеров Kafka, добавив дополнительные экземпляры JMX Metric Gatherer с уникальными атрибутами ресурса
kafka.broker.id