Локальные логи и метрики
Это руководство по началу работы позволяет собирать локальные логи и метрики с вашей системы и отправлять их в 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 для запуска контейнера all-in-one с вашей конфигурацией:
Мы запускаем коллектор от имени пользователя 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.
