ClickStack использует стандарт OpenTelemetry для сбора телеметрических данных (журналов и
трассировок). Трассировки автоматически создаются с помощью автоматического инструментирования, поэтому ручное
инструментирование не требуется, чтобы начать получать пользу от трассировки.
В этом руководстве описана интеграция:
- Журналы
- Метрики
- Трассировки
Установите пакет ClickStack OpenTelemetry для инструментирования
Используйте следующую команду, чтобы установить пакет ClickStack OpenTelemetry для инструментирования.
Установите библиотеки автоматического инструментирования OpenTelemetry для пакетов, используемых вашим Python-приложением. Мы рекомендуем использовать
инструмент opentelemetry-bootstrap, входящий в состав OpenTelemetry Python SDK, чтобы просканировать пакеты вашего приложения и сгенерировать список доступных библиотек.
После этого настройте в вашей оболочке следующие переменные окружения, чтобы отправлять телеметрию в ClickStack через OpenTelemetry Collector:
Переменная окружения OTEL_SERVICE_NAME используется для идентификации вашего сервиса в приложении HyperDX; ей можно присвоить любое имя.
Запустите приложение с агентом OpenTelemetry Python
Теперь вы можете запустить приложение с помощью агента OpenTelemetry Python (opentelemetry-instrument).
Если вы используете Gunicorn, uWSGI или uvicorn
В этом случае для работы агента OpenTelemetry для Python потребуются дополнительные изменения.
Чтобы настроить OpenTelemetry для серверов приложений, использующих режим pre-fork, обязательно вызовите метод configure_opentelemetry в хуке post-fork.
OpenTelemetry в настоящее время не работает с uvicorn, запущенным с флагом --reload
или с несколькими воркерами (--workers). Во время тестирования рекомендуем отключить эти флаги или использовать Gunicorn.
Включив возможности захвата сетевого трафика, разработчики могут эффективно
отлаживать заголовки HTTP-запросов и полезные нагрузки в их теле.
Это можно сделать,
просто установив флаг HYPERDX_ENABLE_ADVANCED_NETWORK_CAPTURE в 1.
Журналы не отображаются из-за уровня логирования
По умолчанию обработчик логирования OpenTelemetry использует уровень logging.NOTSET,
что фактически означает уровень WARNING. Уровень логирования можно указать при создании
логгера:
Python SDK OpenTelemetry обычно выводит ошибки в консоль при их
возникновении. Однако если ошибок нет, но вы замечаете, что данные
не появляются в HyperDX, как ожидается, можно включить режим отладки.
Когда режим отладки включён, все телеметрические данные будут выводиться в консоль,
что позволит проверить, правильно ли инструментировано ваше приложение и передаёт ли оно
ожидаемые данные.
Подробнее об инструментировании Python с помощью OpenTelemetry читайте здесь:
https://opentelemetry.io/docs/instrumentation/python/manual/ Последнее изменение 10 июня 2026 г.