Локальные логи и метрики
Это вводное руководство позволяет собирать локальные логи и метрики с вашей системы и отправлять их в ClickStack для визуализации и анализа.
Этот пример работает только в системах OSX и Linux
Этот пример набора данных также может использоваться с HyperDX в ClickHouse Cloud, с лишь незначительными изменениями конвейера, указанными в тексте. При использовании HyperDX в ClickHouse Cloud пользователям потребуется локально запущенный коллектор OpenTelemetry, как описано в руководстве по началу работы для этой модели развертывания.
Создание пользовательской конфигурации OpenTelemetry
Создайте файл custom-local-config.yaml со следующим содержимым:
Данная конфигурация собирает системные журналы и метрики для систем OSX и Linux и отправляет результаты в ClickStack. Конфигурация расширяет коллектор ClickStack, добавляя новые приёмники и конвейеры — при этом используются существующий экспортёр clickhouse и процессоры (memory_limiter, batch), уже настроенные в базовом коллекторе ClickStack.
Данная конфигурация корректирует временные метки в процессе приёма данных, присваивая каждому событию обновлённое значение времени. Пользователям рекомендуется предварительно обрабатывать или парсить временные метки с помощью процессоров или операторов OTel в своих лог-файлах, чтобы сохранить точное время события.
При такой настройке, если приёмник или процессор файлов настроен на чтение с начала файла, всем существующим записям журнала будет присвоена одна и та же скорректированная временная метка — время обработки, а не исходное время события. Любые новые события, добавляемые в файл, получат временные метки, приблизительно соответствующие фактическому времени их создания.
Чтобы избежать такого поведения, установите начальную позицию в значение end в конфигурации приёмника. Это обеспечит приём только новых записей с временными метками, соответствующими фактическому времени их поступления.
Подробнее о структуре конфигурации OpenTelemetry (OTel) см. в официальном руководстве.
Запуск ClickStack с пользовательской конфигурацией
Выполните следующую команду docker для запуска универсального контейнера с вашей конфигурацией:
Мы запускаем коллектор от имени пользователя root для доступа ко всем системным журналам — это необходимо для сбора журналов из защищённых путей в системах на базе Linux. Однако такой подход не рекомендуется для production-окружения. В production-средах OpenTelemetry Collector следует развёртывать как локальный агент только с минимальными правами, необходимыми для доступа к целевым источникам журналов.
Обратите внимание, что мы монтируем /var/log хоста в /host/var/log внутри контейнера, чтобы избежать конфликтов с собственными лог-файлами контейнера.
При использовании HyperDX в ClickHouse Cloud с автономным коллектором используйте эту команду:
Коллектор сразу начнет собирать локальные системные журналы и метрики.
Переход к интерфейсу HyperDX
Перейдите по адресу http://localhost:8080 для доступа к интерфейсу HyperDX при локальном развёртывании. При использовании HyperDX в ClickHouse Cloud выберите ваш сервис и пункт HyperDX в меню слева.
Изучение системных журналов
В интерфейсе поиска должны отобразиться локальные системные журналы. Разверните фильтры и выберите system.log:

Изучение системных метрик
Метрики можно изучать с помощью графиков.
Перейдите в Chart Explorer через левое меню. Выберите источник Metrics и тип агрегации Maximum.
В меню Select a Metric введите memory, а затем выберите system.memory.utilization (Gauge).
Нажмите кнопку запуска, чтобы визуализировать использование памяти за период времени.

Обратите внимание, что число возвращается как число с плавающей точкой %. Для более четкого отображения выберите Set number format.

В открывшемся меню выберите Percentage из выпадающего списка Output format и нажмите Apply.
