Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Языковые SDK

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

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

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

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

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

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


Язык Описание Ссылка
AWS Lambda Инструментирование функций AWS Lambda Документация
Browser JavaScript 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 key

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

OTEL_EXPORTER_OTLP_HEADERS='authorization=<YOUR_INGESTION_API_KEY>'

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

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

export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318

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

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

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

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

Navigation