Перейти к основному содержанию
Перейти к основному содержанию

Языковые SDK

Данные, как правило, отправляются в ClickStack через коллектор OpenTelemetry (OTel) — либо напрямую из языковых SDK, либо через промежуточный коллектор OpenTelemetry, работающий в роли агента, например собирающего метрики инфраструктуры и логи.

Языковые SDK отвечают за сбор телеметрии из вашего приложения — в первую очередь трейсов и логов — и экспорт этих данных в коллектор OpenTelemetry через OTLP-эндпоинт, который осуществляет ингестию данных в ClickHouse.

В браузерных окружениях SDK также могут отвечать за сбор данных сеансов, включая события пользовательского интерфейса, клики и навигацию, что позволяет воспроизводить пользовательские сеансы.

Как это работает

  1. Ваше приложение использует SDK ClickStack (например, для Node.js, Python, Go). Эти SDKs основаны на OpenTelemetry SDKs с дополнительными возможностями и повышенным удобством использования.
  2. SDK собирает и экспортирует трассы и логи через OTLP (HTTP или gRPC).
  3. Коллектор OpenTelemetry получает телеметрию и записывает её в ClickHouse с помощью настроенных экспортеров.

Поддерживаемые языки

Совместимость с OpenTelemetry

Хотя ClickStack предлагает собственные языковые SDK с расширенной телеметрией и дополнительными возможностями, вы также можете бесшовно использовать существующие SDK OpenTelemetry.


ЯзыкОписаниеСсылка
AWS LambdaНастройте инструментирование функций AWS LambdaДокументация
BrowserJavaScript SDK для браузерных приложенийДокументация
ElixirПриложения на ElixirДокументация
GoПриложения и микросервисы на GoДокументация
JavaПриложения на JavaДокументация
NestJSПриложения на NestJSДокументация
Next.jsПриложения на Next.jsДокументация
Node.jsСреда выполнения JavaScript для серверных приложенийДокументация
DenoПриложения на DenoДокументация
PythonПриложения и веб‑сервисы на PythonДокументация
React NativeМобильные приложения на React NativeДокументация
RubyПриложения и веб‑сервисы на Ruby on RailsДокументация

Защита с помощью ключа API

Для отправки данных в ClickStack через OTel collector SDK должны указывать ключ API для приёма данных (ingestion API key). Его можно задать либо с помощью функции init в SDK, либо через переменную окружения OTEL_EXPORTER_OTLP_HEADERS:

OTEL_EXPORTER_OTLP_HEADERS='authorization=<ВАШ_КЛЮЧ_API_ПРИЁМА>'

Этот API-ключ генерируется приложением HyperDX и доступен в разделе Team Settings → API Keys самого приложения.

Для большинства языковых SDK и библиотек телеметрии, поддерживающих OpenTelemetry, вы можете просто задать переменную окружения OTEL_EXPORTER_OTLP_ENDPOINT в вашем приложении или указать её при инициализации SDK:

export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318

Интеграция с Kubernetes

Все SDKs поддерживают автоматическую корреляцию с метаданными Kubernetes (имя пода, пространство имен и т. д.) при работе в среде Kubernetes. Это позволяет вам:

  • Просматривать метрики Kubernetes для подов и узлов, связанных с вашими сервисами
  • Коррелировать журналы приложений и трассировки с инфраструктурными метриками
  • Отслеживать использование ресурсов и производительность во всем вашем кластере Kubernetes

Чтобы включить эту функцию, настройте коллектор OpenTelemetry так, чтобы он пересылал ресурсные теги в поды. Подробные инструкции по настройке см. в руководстве по интеграции с Kubernetes.