Мониторинг логов systemd с помощью ClickStack
В этом руководстве показано, как мониторить журналы systemd с помощью ClickStack, запустив OpenTelemetry Collector с приёмником journald. Вы узнаете, как:
- Развернуть OpenTelemetry Collector для чтения записей журнала systemd
- Отправлять логи systemd в ClickStack по OTLP
- Использовать преднастроенную панель мониторинга для визуализации данных по логам systemd (состояние сервисов, ошибки, события аутентификации)
Демонстрационный набор данных с примерами логов доступен, если вы хотите протестировать интеграцию перед настройкой боевых систем.
Требуемое время: 10–15 минут
Интеграция с существующими системами
Отслеживайте логи journald на существующей Linux-системе, запустив OpenTelemetry Collector с приёмником journald для сбора системных логов и отправки их в ClickStack по OTLP.
Если вы хотите сначала протестировать эту интеграцию, не изменяя существующую конфигурацию, перейдите к разделу с демонстрационным набором данных.
Предварительные требования
- Запущенный экземпляр ClickStack
- Система Linux с systemd (Ubuntu 16.04+, CentOS 7+, Debian 8+)
- Docker или Docker Compose, установленные на отслеживаемой системе
Получить ClickStack API key
OTel collector отправляет данные в OTLP-эндпоинт ClickStack, который требует аутентификации.
- Откройте HyperDX по вашему ClickStack URL (например, http://localhost:8080)
- Создайте учётную запись или, при необходимости, войдите в систему
- Перейдите в Team Settings → API Keys
- Скопируйте ваш ключ API для приёма данных API key

- Задайте его как переменную окружения:
Убедитесь, что systemd journal запущен
Убедитесь, что ваша система использует systemd и имеет журналы:
Если хранилище журнала находится только в памяти, включите постоянное хранилище:
Разверните с помощью Docker Compose
journald receiver требует бинарный файл journalctl для чтения файлов журнала. Официальный образ otel/opentelemetry-collector-contrib по умолчанию не содержит journalctl.
Для контейнеризованных развертываний вы можете либо установить collector напрямую на хост, либо собрать кастомный образ с утилитами systemd. Подробности см. в разделе по устранению неполадок.
Этот пример показывает развертывание OTel collector вместе с ClickStack:
Запустите сервисы:
Проверьте логи в HyperDX
После настройки войдите в HyperDX и убедитесь, что логи поступают:
- Перейдите в представление Search
- Установите источник в значение Logs
- Отфильтруйте по
service.name:systemd-logs - Вы должны увидеть структурированные записи журнала с полями
unit,priority,MESSAGE,_HOSTNAME


Демонстрационный набор данных
Для пользователей, которые хотят протестировать интеграцию логов systemd перед настройкой производственных систем, мы предоставляем демонстрационный набор предварительно сгенерированных логов systemd с реалистичными шаблонами.
Запустите ClickStack с демонстрационными данными
Запустите ClickStack с демонстрационными логами:
В демонстрации используется ресивер filelog с текстовыми логами вместо journald, чтобы избежать необходимости в journalctl в контейнере.
Проверьте логи в HyperDX
После запуска ClickStack:
- Откройте HyperDX и войдите в свою учетную запись
- Перейдите в представление Search и установите источник в
Logs - Установите диапазон времени 2025-11-14 00:00:00 - 2025-11-17 00:00:00


HyperDX отображает временные метки в локальном часовом поясе вашего браузера. Демонстрационные данные охватывают период 2025-11-15 00:00:00 - 2025-11-16 00:00:00 (UTC). Широкий диапазон времени гарантирует, что вы увидите демонстрационные логи независимо от вашего местоположения.
Дашборды и визуализация
Чтобы помочь вам начать мониторинг логов systemd с ClickStack, мы предоставляем базовые визуализации для данных журнала systemd.
Импорт готового дашборда
- Откройте HyperDX и перейдите в раздел Dashboards
- Нажмите Import Dashboard в правом верхнем углу в меню под значком с многоточием

- Загрузите файл
systemd-logs-dashboard.jsonи нажмите Finish Import

Просмотр дашборда
Дашборд включает визуализации для:
- Объёма логов во времени
- Наиболее активных systemd-юнитов по количеству логов
- Событий аутентификации SSH
- Сбоев сервисов
- Частоты ошибок

Для демонстрационного набора данных установите диапазон времени 2025-11-15 00:00:00 - 2025-11-16 00:00:00 (UTC) (при необходимости скорректируйте в соответствии с вашим часовым поясом).
Устранение неполадок
В HyperDX не отображаются логи
Проверьте, поступают ли логи в ClickHouse:
Если результатов нет, просмотрите логи коллектора:
ошибка journalctl not found
Если вы видите exec: "journalctl": executable file not found in $PATH:
Образ otel/opentelemetry-collector-contrib не включает journalctl. Вы можете:
- Установить коллектор на хосте:
- Использовать подход с текстовым экспортом (как в демо) с приемником
filelog, читающим экспортированные логи journald
Переход к эксплуатации в продакшене
В этом руководстве используется отдельный коллектор OpenTelemetry для чтения логов systemd и отправки их на OTLP-эндпоинт ClickStack, что является рекомендуемым паттерном для продакшена.
Для продакшн-сред с несколькими хостами рассмотрите следующие варианты:
- Развертывание коллектора как ДемонСет в Kubernetes
- Запуск коллектора как службы systemd на каждом хосте
- Использование OpenTelemetry Operator для автоматизированного развертывания
См. раздел Приём данных с помощью OpenTelemetry для получения сведений о паттернах продакшн-развертывания.