Мониторинг журналов хоста с помощью ClickStack
В этом руководстве показано, как отслеживать журналы хост-системы с помощью ClickStack, настроив OTel collector для сбора логов от systemd, ядра, SSH, cron и других системных сервисов. Вы узнаете, как:
- Настроить OTel collector для чтения файлов системных логов
- Развернуть ClickStack с вашей собственной конфигурацией
- Использовать готовую панель мониторинга для визуализации данных по журналам хоста (ошибки, предупреждения, активность сервисов)
Демонстрационный набор данных с примерами логов доступен, если вы хотите протестировать интеграцию до настройки боевых хостов.
Требуемое время: 5–10 минут
Интеграция с существующими хостами
В этом разделе описывается настройка ваших существующих хостов для отправки системных логов в ClickStack путем изменения конфигурации ClickStack OTel collector так, чтобы он считывал все файлы системных логов (syslog, auth, kernel, daemon и журналы приложений).
Если вы хотите протестировать интеграцию с журналами хоста до настройки собственной среды, вы можете воспользоваться нашей предварительно настроенной конфигурацией и примеровыми данными в разделе "Demo dataset".
Требования
- Запущенный экземпляр ClickStack
- Система, на которой имеются файлы syslog
- Доступ к изменению файлов конфигурации ClickStack
Проверьте наличие файлов syslog
Сначала убедитесь, что ваша система записывает файлы syslog:
Типичные расположения syslog:
- Ubuntu/Debian:
/var/log/syslog - RHEL/CentOS/Fedora:
/var/log/messages - macOS:
/var/log/system.log
Создайте пользовательскую конфигурацию OTel collector
ClickStack позволяет расширить базовую конфигурацию OpenTelemetry Collector путём монтирования пользовательского конфигурационного файла и установки переменной окружения.
Создайте файл host-logs-monitoring.yaml с конфигурацией для вашей системы:
- Современный Linux (Ubuntu 24.04+)
- Старые версии Linux (Ubuntu 20.04, RHEL, CentOS)
- macOS
Все конфигурации:
- Чтение файлов syslog из стандартных расположений
- Разберите сообщения в формате syslog, чтобы извлечь структурированные поля (timestamp, hostname, unit/service, PID, message)
- Сохранение исходных временных меток логов
- Добавьте атрибут
source: host-logsдля фильтрации данных в HyperDX - Маршрутизируйте логи в экспортёр ClickHouse через отдельный конвейер обработки
- В пользовательской конфигурации вы задаёте только новые receivers и pipelines
- Процессоры (
memory_limiter,transform,batch) и экспортёры (clickhouse) уже определены в базовой конфигурации ClickStack — достаточно просто сослаться на них по имени - Парсер на основе регулярных выражений извлекает имена юнитов systemd, PID и другие метаданные из сообщений в формате syslog
- Эта конфигурация использует
start_at: end, чтобы избежать повторного приёма логов при перезапусках коллектора. Для тестирования измените наstart_at: beginning, чтобы сразу увидеть логи за прошедшее время.
Настройте ClickStack для загрузки пользовательской конфигурации
Чтобы включить пользовательскую конфигурацию коллектора в существующем развертывании ClickStack, необходимо:
- Смонтируйте пользовательский файл конфигурации по пути
/etc/otelcol-contrib/custom.config.yaml - Установите переменную окружения
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - Смонтируйте каталог с файлами syslog, чтобы коллектор мог их читать
Вариант 1: Docker Compose
Обновите конфигурацию развёртывания ClickStack:
Вариант 2: Docker Run (образ «всё в одном»)
Если вы используете универсальный образ с docker run:
Убедитесь, что коллектор ClickStack имеет необходимые права для чтения файлов syslog. В production-среде используйте монтирование только для чтения (:ro) и следуйте принципу наименьших привилегий.
Проверка логов в HyperDX
После настройки войдите в HyperDX и убедитесь, что журналы поступают:
- Перейдите в режим поиска
- В поле Source выберите значение Logs
- Отфильтруйте по
source:host-logs, чтобы просмотреть логи конкретных хостов - Вы должны увидеть структурированные записи логов с полями, такими как
unit,hostname,pid,messageи т.д.


Демонстрационный набор данных
Для пользователей, которые хотят протестировать интеграцию журналов хоста перед настройкой боевых систем, мы предоставляем пример набора данных с предварительно сгенерированными системными журналами с реалистичными сценариями.
Загрузка примера набора данных
Загрузите пример файла журнала:
Набор данных включает:
- Последовательность загрузки системы
- Активность входа по SSH (успешные и неуспешные попытки)
- Инцидент безопасности (атака перебором паролей с реакцией fail2ban)
- Плановое обслуживание (задания cron, anacron)
- Перезапуски сервисов (rsyslog)
- Сообщения ядра и активность межсетевого экрана (firewall)
- Сочетание нормальной работы и примечательных событий
Создание тестовой конфигурации коллектора
Создайте файл с именем host-logs-demo.yaml со следующей конфигурацией:
Запуск ClickStack с демонстрационной конфигурацией
Запустите ClickStack с демо-журналами и конфигурацией:
Это монтирует файл журнала непосредственно в контейнер. Это делается для тестирования со статическими демо-данными.
Проверка журналов в HyperDX
После запуска ClickStack:
- Откройте HyperDX и войдите в свою учетную запись (при необходимости сначала создайте учетную запись)
- Перейдите в раздел Search и установите источник
Logs - Установите диапазон времени 2025-11-10 00:00:00 - 2025-11-13 00:00:00


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

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

Просмотр дашборда
Дашборд будет создан со всеми преднастроенными визуализациями:

Ключевые визуализации включают:
- Объём логов во времени по уровням важности
- Топ юнитов systemd, генерирующих логи
- Активность SSH-подключений (успешные vs неудачные)
- Активность межсетевого экрана (заблокировано vs разрешено)
- События безопасности (неудачные входы, блокировки, баны)
- Активность перезапуска сервисов
Для демонстрационного датасета установите диапазон времени 2025-11-11 00:00:00 - 2025-11-12 00:00:00 (UTC) (скорректируйте в соответствии с вашим часовым поясом). По умолчанию у импортированного дашборда диапазон времени не задан.
Устранение неполадок
Пользовательская конфигурация не загружается
Убедитесь, что задана переменная среды:
Проверьте, что пользовательский конфигурационный файл смонтирован и доступен для чтения:
В HyperDX не отображаются логи
Проверьте, что файлы syslog существуют и в них ведётся запись:
Убедитесь, что коллектор может читать логи:
Убедитесь, что в итоговой конфигурации указан ваш приёмник filelog:
Проверьте наличие ошибок в логах коллектора:
Если используете демонстрационный набор данных, убедитесь, что файл журнала доступен:
Логи разбираются некорректно
Убедитесь, что формат сообщений syslog соответствует выбранной конфигурации:
Для современных версий Linux (Ubuntu 24.04+):
Для старых версий Linux или macOS:
Если ваш формат отличается, выберите соответствующую вкладку конфигурации в разделе Создание пользовательской конфигурации OTel collector.
Дальнейшие шаги
После настройки мониторинга логов хоста:
- Настройте оповещения для критических системных событий (сбоев сервисов, ошибок аутентификации, предупреждений о диске)
- Фильтруйте по отдельным unit-ам для мониторинга конкретных сервисов
- Коррелируйте логи хоста с логами приложений для комплексного устранения неполадок
- Создавайте пользовательские дашборды для мониторинга безопасности (попытки SSH-доступа, использование sudo, блокировки межсетевым экраном)
Переход в продакшн
В этом руководстве используется встроенный в ClickStack OTel collector для быстрой начальной настройки. Для продакшн-сред мы рекомендуем развернуть собственный OTel collector и отправлять данные на OTLP-эндпоинт ClickStack. См. раздел Отправка данных OpenTelemetry для конфигурации продакшн-среды.