Миграция SDKs из Elastic
The Elastic Stack предоставляет два типа языковых SDK для инструментирования приложений:
-
Официальные APM-агенты Elastic – они разработаны специально для использования с Elastic Stack. В настоящее время для этих SDK нет возможности прямой миграции. Приложения, использующие их, потребуется переинструментировать с использованием соответствующих ClickStack SDK.
-
Дистрибутивы OpenTelemetry от Elastic (EDOT SDK) – это дистрибутивы стандартных OpenTelemetry SDK от Elastic, доступные для .NET, Java, Node.js, PHP и Python. Если ваше приложение уже использует EDOT SDK, повторно инструментировать код не требуется. Вместо этого вы можете просто перенастроить SDK для экспорта телеметрии в OTLP Collector, входящий в состав ClickStack. Подробности смотрите в разделе «Migrating EDOT SDKs».
Хотя стандартные OpenTelemetry SDK поддерживаются, мы настоятельно рекомендуем использовать для каждого языка распространяемые ClickStack SDK. Эти дистрибутивы включают дополнительное инструментирование, улучшенные значения по умолчанию и специальные расширения, разработанные для бесшовной работы с конвейером ClickStack и интерфейсом HyperDX. Используя ClickStack SDK, вы сможете задействовать расширенные возможности, такие как стек-трейсы исключений, которые недоступны в «чистых» OpenTelemetry или EDOT SDK.
Миграция EDOT SDKs
Аналогично ClickStack SDKS на базе OpenTelemetry, Elastic Distributions of the OpenTelemetry SDKs (EDOT SDKs) представляют собой модифицированные версии официальных OpenTelemetry SDKs. Например, EDOT Python SDK — это дистрибутив OpenTelemetry Python SDK, модифицированный вендором и предназначенный для бесшовной работы с Elastic Observability.
Поскольку эти SDKS основаны на стандартных библиотеках OpenTelemetry, миграция на ClickStack тривиальна — повторная инструментация не требуется. Достаточно скорректировать конфигурацию, чтобы направлять данные телеметрии в ClickStack OpenTelemetry Collector.
Конфигурирование выполняется по стандартным механизмам OpenTelemetry. Для Python это обычно делается через переменные окружения, как описано в документации OpenTelemetry Zero-Code Instrumentation.
Типичная конфигурация EDOT SDK может выглядеть следующим образом:
Для миграции на ClickStack обновите endpoint так, чтобы он указывал на локальный OTLP Collector, и измените заголовок авторизации:
Ваш ключ API для приёма данных генерируется приложением HyperDX и его можно найти в разделе Team Settings → API Keys.
