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

Языковые SDK

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

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

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

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

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

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

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

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


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

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

Чтобы отправить данные в ClickStack через коллектор OTel, SDK необходимо указать ключ API для приема. Это можно сделать, используя функцию init в SDK или переменную окружения OTEL_EXPORTER_OTLP_HEADERS:

OTEL_EXPORTER_OTLP_HEADERS='authorization=<YOUR_INGESTION_API_KEY>'

Этот ключ API генерируется приложением HyperDX и доступен через приложение в Настройки команды → Ключи API.

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

export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318

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

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

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

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