Перейти к основному содержанию
ВкратцеОтслеживайте метрики производительности Apache Kafka в ClickStack с помощью OTel JMX Metric Gatherer. Включает демо-набор данных и преднастроенную панель мониторинга.

Интеграция с существующим развертыванием Kafka

Чтобы отслеживать существующее развертывание Kafka, запустите контейнер OpenTelemetry JMX Metric Gatherer для сбора метрик и отправки их в ClickStack через OTLP. Если вы хотите сначала протестировать эту интеграцию, не изменяя текущую конфигурацию, перейдите к разделу о демо-наборе данных.
Необходимые условия
  • Запущенный экземпляр ClickStack
  • Имеющаяся установка Kafka (версии 2.0 или выше) с включенным JMX
  • Сетевой доступ между ClickStack и Kafka (порт JMX 9999, порт Kafka 9092)
  • JAR-файл OpenTelemetry JMX Metric Gatherer (инструкции по загрузке ниже)
1

Получите ключ API ClickStack

JMX Metric Gatherer отправляет данные в конечную точку OTLP ClickStack, которая требует аутентификации.
  1. Откройте HyperDX по адресу вашего ClickStack (например, http://localhost:8080)
  2. Создайте учётную запись или войдите в систему при необходимости
  3. Перейдите в Team Settings → API Keys
  4. Скопируйте свой ключ API для приёма данных
  1. Задайте его как переменную окружения:
2

Скачайте OpenTelemetry JMX Metric Gatherer

Скачайте JAR-файл JMX Metric Gatherer:
3

Убедитесь, что JMX в Kafka включен

Убедитесь, что JMX включен на ваших брокерах Kafka. Для Docker-развертываний:
Если вы используете развертывание не в Docker, задайте следующее при запуске Kafka:
Убедитесь, что JMX доступен:
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 - Включает метрики Kafka
  • http://clickstack:4318 - HTTP-конечная точка OTLP (используйте имя хоста ClickStack)
  • authorization=\${CLICKSTACK_API_KEY} - API key для аутентификации (обязательно)
  • service.name=kafka,kafka.broker.id=broker-0 - Атрибуты ресурса для фильтрации
  • 10000 - Интервал сбора в миллисекундах (10 секунд)
5

Проверьте метрики в HyperDX

Войдите в HyperDX и убедитесь, что метрики поступают:
  1. Перейдите в Chart Explorer
  2. Найдите kafka.message.count или kafka.partition.count
  3. Метрики должны появляться с интервалом 10 секунд
Ключевые метрики для проверки:
  • kafka.message.count - Общее количество обработанных сообщений
  • kafka.partition.count - Общее количество партиций
  • kafka.partition.under_replicated - В исправном кластере должно быть 0
  • kafka.network.io - Сетевая пропускная способность
  • kafka.request.time.* - Перцентили задержки запросов
Чтобы сгенерировать активность и получить больше метрик:
При запуске команд клиента Kafka (kafka-topics, kafka-console-producer и т. д.) из контейнера Kafka добавляйте префикс unset JMX_PORT &&, чтобы избежать конфликтов JMX-портов.

Демо-набор данных

Для пользователей, которые хотят протестировать интеграцию Kafka Metrics перед настройкой продакшен-систем, мы предоставляем заранее сгенерированный набор данных с реалистичной динамикой метрик Kafka.
1

Скачайте пример набора данных с метриками

Скачайте заранее сгенерированные файлы метрик (29 часов метрик Kafka с реалистичной динамикой):
Набор данных включает реалистичные паттерны для одноброкерного 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

Запустите ClickStack

Запустите экземпляр ClickStack:
3

Загрузите метрики в ClickStack

Загрузите метрики напрямую в ClickHouse:
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 часов для более наглядных визуализаций.

Панели мониторинга и визуализация

Чтобы вам было проще начать мониторинг Kafka с помощью ClickStack, мы предоставляем набор основных визуализаций метрик Kafka.
1

конфигурацию панели мониторинга

2

Импортируйте преднастроенный дашборд

  1. Откройте HyperDX и перейдите в раздел Dashboards
  2. Нажмите Import Dashboard в правом верхнем углу, в меню с многоточием
  1. Загрузите файл kafka-metrics-dashboard.json и нажмите Finish Import
3

Откройте панель мониторинга

Панель мониторинга будет создана со всеми преднастроенными визуализациями:
Для демо-набора данных установите временной диапазон 2025-11-05 16:00:00 - 2025-11-06 16:00:00 (UTC) (скорректируйте его в соответствии с вашим местным часовым поясом). По умолчанию у импортированной панели мониторинга временной диапазон не задан.

Устранение неполадок

Метрики не отображаются в HyperDX

Проверьте, что ключ API задан и передаётся в контейнер:
Если его нет, задайте его и перезапустите:
Проверьте, поступают ли метрики в ClickHouse:
Если результатов нет, проверьте журналы JMX exporter:
Сгенерируйте активность в Kafka, чтобы появились метрики:

Ошибки аутентификации

Если вы видите Authorization failed или 401 Unauthorized:
  1. Проверьте ключ API в интерфейсе HyperDX (Settings → API Keys → Ingestion API Key)
  2. Повторно экспортируйте переменные и перезапустите:

Конфликт портов при выполнении команд клиента Kafka

При запуске команд Kafka из контейнера Kafka вы можете увидеть:
Добавьте к командам префикс unset JMX_PORT &&:

Проблемы с подключением к сети

Если в журнале JMX exporter есть сообщение Connection refused: Убедитесь, что все контейнеры находятся в одной сети Docker:
Проверьте подключение:

Следующие шаги

  • Настройте оповещения для критически важных метрик (партиции с недостаточной репликацией, рост отставания потребителя, всплески задержки запросов)
  • Создайте дополнительные панели мониторинга для конкретных сценариев использования (пропускная способность по топикам, мониторинг групп потребителей)
  • Отслеживайте несколько брокеров Kafka, добавив дополнительные экземпляры JMX Metric Gatherer с уникальными атрибутами ресурса kafka.broker.id

Переход к промышленной эксплуатации

В этом руководстве метрики отправляются напрямую из JMX Metric Gatherer в конечную точку OTLP ClickStack, что хорошо подходит для тестирования и небольших развертываний. Для промышленной эксплуатации разверните собственный OpenTelemetry Collector в роли агента, чтобы он принимал метрики от JMX Exporter и пересылал их в ClickStack. Это обеспечивает пакетную обработку, отказоустойчивость и централизованное управление конфигурацией. См. Приём данных с помощью OpenTelemetry, где описаны схемы развертывания для промышленной эксплуатации и приведены примеры конфигурации OpenTelemetry Collector.
Последнее изменение 1 июля 2026 г.