КраткоСобирайте и визуализируйте журналы Kafka broker в формате Log4j в ClickStack с помощью OTel-приёмника
filelog. Включает демо-набор данных и преднастроенный дашборд.Интеграция с существующей установкой Kafka
Предварительные требования
- Запущенный экземпляр ClickStack
- Установленный Kafka версии 2.0 или новее
- Доступ к файлам журналов Kafka (
server.log,controller.logи т. д.)
Проверьте конфигурацию логирования Kafka
Kafka использует Log4j и записывает журналы в каталог, указанный в системном свойствеkafka.logs.dir или переменной окружения LOG_DIR. Проверьте расположение файла журнала:server.log: Общие журналы брокера (запуск, подключения, репликация, ошибки)controller.log: События контроллера (выбор лидера, переназначение партиций)state-change.log: Переходы состояний партиций и реплик
Для Kafka-развертываний на базе Docker (например,
confluentinc/cp-kafka) конфигурация Log4j по умолчанию включает только консольный appender — file appender отсутствует, поэтому журналы записываются только в stdout. Чтобы использовать приёмник filelog, нужно перенаправить журналы в файл: либо добавив file appender в log4j.properties, либо перенаправив stdout через конвейер (например, | tee /var/log/kafka/server.log).Создайте пользовательскую конфигурацию OTel collector для Kafka
ClickStack позволяет расширить базовую конфигурацию OpenTelemetry Collector, подключив пользовательский файл конфигурации и задав переменную окружения. Пользовательская конфигурация объединяется с базовой конфигурацией, которой HyperDX управляет через OpAMP.Создайте файл с именемkafka-logs-monitoring.yaml со следующей конфигурацией:- В пользовательской конфигурации вы определяете только новые приёмники и конвейеры. Процессоры (
memory_limiter,transform,batch) и экспортеры (clickhouse) уже определены в базовой конфигурации ClickStack — здесь на них нужно только сослаться по имени. - Конфигурация
multilineобеспечивает объединение трассировок стека в одну запись в журнале. - Эта конфигурация использует
start_at: beginning, чтобы при запуске коллектора прочитать все существующие журналы. Для развертываний в продакшне измените значение наstart_at: end, чтобы избежать повторного приёма журналов при перезапуске коллектора.
Настройка ClickStack для загрузки пользовательской конфигурации
Чтобы включить пользовательскую конфигурацию коллектора в существующем развертывании ClickStack, необходимо:- Смонтировать файл пользовательской конфигурации в
/etc/otelcol-contrib/custom.config.yaml - Задать переменную окружения
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - Смонтировать каталог с журналами Kafka, чтобы коллектор мог их читать
- Docker Compose
- Docker Run (образ All-in-One)
Обновите конфигурацию развертывания ClickStack:
Убедитесь, что у коллектора ClickStack есть необходимые разрешения на чтение файлов журналов Kafka. В продакшне используйте монтирования только для чтения (
:ro) и придерживайтесь принципа наименьших привилегий.Проверьте журналы в HyperDX
После настройки войдите в HyperDX и убедитесь, что журналы поступают:Демо-набор данных
Создайте тестовую конфигурацию коллектора
Создайте файлkafka-logs-demo.yaml со следующей конфигурацией:Запустите ClickStack с демо-конфигурацией
Запустите ClickStack с демо-журналами и этой конфигурацией:Проверьте журналы в HyperDX
После запуска ClickStack:- Откройте HyperDX и войдите в свою учётную запись (возможно, сначала потребуется создать её)
- Перейдите в представление Search и выберите источник
Logs - Установите временной диапазон, включающий 2026-03-09 00:00:00 - 2026-03-10 00:00:00 (UTC)
Панели мониторинга и визуализация
конфигурацию панели мониторинга
Импорт преднастроенного дашборда
- Откройте HyperDX и перейдите в раздел Dashboards.
- Нажмите “Import Dashboard” в правом верхнем углу в меню с многоточием.
- Загрузите файл kafka-logs-dashboard.json и нажмите finish import.
Панель мониторинга будет создана со всеми преднастроенными визуализациями
Для демо-набора данных установите временной диапазон, включающий 2026-03-09 00:00:00 - 2026-03-10 00:00:00 (UTC).Устранение неполадок
regex_parser.
Дальнейшие шаги
- Настройте оповещения для критически важных событий (сбои брокеров, ошибки репликации, проблемы consumer group)
- Используйте вместе с Kafka Metrics для комплексного мониторинга Kafka
- Создайте дополнительные панели мониторинга для конкретных сценариев использования (события контроллера, перераспределение партиций)