Термин · Глоссарий B2B-ПО

OpenTelemetry (OpenTelemetry)

OpenTelemetry – открытый стандарт и набор инструментов CNCF для сбора, обработки и экспорта телеметрических данных: трассировок (traces), метрик (metrics) и логов (logs). Обеспечивает vendor-neutral observability через единый API и протокол OTLP.

Буква «O» В категориях: 4 Платформ: 6+

Введение

OpenTelemetry (сокращённо OTel) – открытый проект CNCF, предоставляющий стандартизированный набор API, SDK, инструментов и протоколов для инструментирования приложений и инфраструктуры с целью сбора телеметрических данных. OpenTelemetry объединяет три сигнала observability: трассировки (traces), метрики (metrics) и логи (logs) в единую, независимую от конкретного вендора платформу.

OpenTelemetry возник из слияния двух проектов: OpenTracing (стандарт distributed tracing) и OpenCensus (библиотеки от Google). Оба проекта в 2019 году объединились в OpenTelemetry под эгидой CNCF. Сегодня OTel является вторым по активности проектом CNCF после Kubernetes.

История и контекст

До OpenTelemetry каждый вендор (Datadog, New Relic, Dynatrace, Jaeger) имел собственный SDK для инструментирования. Разработчику приходилось выбирать и «замыкаться» на конкретном инструменте. OpenTracing (2016) и OpenCensus (Google, 2018) предпринимали попытки стандартизации, но конкурировали между собой.

В 2019 году сообщества обоих проектов объявили о слиянии в OpenTelemetry. Ключевые вехи: OTel Traces API stable (2021), Metrics SDK stable (2022-2023 по языкам), Logs Bridge API stable (2023). Протокол OTLP (OpenTelemetry Protocol) стал стабильным для трассировок, метрик и логов, обеспечивая единый канал передачи телеметрии.

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

OpenTelemetry состоит из нескольких компонентов:

  • API: независимые от имплементации интерфейсы для создания трассировок, метрик, логов. Позволяют библиотекам инструментировать себя без привязки к конкретному SDK.
  • SDK: реализация API для конкретного языка. Предоставляет Tracer, Meter, Logger, Sampler, процессоры и экспортёры.
  • OpenTelemetry Collector: агент/шлюз для приёма, обработки и экспорта телеметрии. Принимает данные в форматах OTLP, Jaeger, Zipkin, Prometheus и экспортирует в Jaeger, Prometheus, Grafana Tempo, Datadog, New Relic и другие.
  • OTLP (OpenTelemetry Protocol): стандартный бинарный протокол (gRPC/HTTP+protobuf) для передачи телеметрии. Stale для traces, metrics, logs.
  • Auto-instrumentation: автоматическое инструментирование популярных фреймворков и библиотек без изменения кода (Java agent, Python auto-instrumentation).

Distributed Tracing – ключевая возможность OTel:

  • Каждый запрос получает уникальный TraceId (128 бит).
  • Каждая операция в рамках запроса – Span с SpanId, временными метками, атрибутами и событиями.
  • Контекст трассировки передаётся между сервисами через заголовки (W3C TraceContext – стандарт).
  • Логи связываются с трассировкой через поля TraceId/SpanId, позволяя переходить от метрики к трассировке и к логу.

OpenTelemetry Collector

Collector – центральный компонент инфраструктуры OTel. Работает в двух режимах:

  • Agent mode: развёртывается как sidecar или DaemonSet рядом с приложениями. Собирает и пересылает телеметрию.
  • Gateway mode: централизованный шлюз для агрегации и маршрутизации телеметрии.

Collector конфигурируется декларативно через YAML: Receivers (входные данные) → Processors (фильтрация, обогащение, сэмплирование) → Exporters (назначение).

Где применяется

  • Микросервисные архитектуры: distributed tracing позволяет отследить запрос через 10-20 микросервисов и найти узкое место.
  • SRE и performance engineering: метрики OTel заменяют или дополняют Prometheus для унифицированного сбора.
  • Kubernetes: OTel Operator автоматически внедряет auto-instrumentation в Pod'ы.
  • FinOps: атрибуты трассировок позволяют связать стоимость инфраструктуры с конкретными операциями.
  • Compliance: полная цепочка обработки запроса (audit trail) через distributed traces.

Связь с другими понятиями

  • Observability – OpenTelemetry является основным инструментом реализации observability в cloud-native системах.
  • Prometheus – OTel может экспортировать метрики в Prometheus или получать из него через OpenMetrics receiver.
  • Grafana – Grafana Tempo – бэкенд для трассировок OTel; Grafana визуализирует все три сигнала OTel.
  • gRPC – OTLP использует gRPC как основной транспорт. gRPC-приложения легко интегрируются с OTel через interceptors.
  • Service Mesh (Istio) – генерирует трассировки, совместимые с OTel, через Envoy.
  • Log Aggregation – Logs Bridge API позволяет связать существующие логи (log4j, zap) с OTel трассировками.

Понятия из глоссария Цифрового маркетплейса, которые часто встречаются вместе с термином «OpenTelemetry».

Платформы класса «OpenTelemetry»

Решения из каталога Цифрового маркетплейса, относящиеся к этому классу ПО. Карточки ведут на полные карточки платформ с тарифами, обзорами и кейсами внедрения.

Ключ-АСТРОМ

Ключ-АСТРОМ

ИТ-инфраструктура
Ключ-АСТРОМ — российская платформа мониторинга производительности приложений (APM) полного стека. Система объе...
Цена по запросу
★ 4.7
Подробнее →
ИН

ИндексЛог

Observability (Логи/Метрики/Трейсы)
ИндексЛог — система аналитики и визуализации лог-данных для мониторинга и анализа журналов событий информацион...
Цена по запросу
Подробнее →
GM

GMonit

ИТ-инфраструктура
GMonit — российский программный продукт из реестра отечественного ПО, включённый в топ-аналитику по своей кате...
Цена по запросу
Подробнее →
Field Connect

Field Connect

ИТ-инфраструктура
Программное обеспечение для удалённого управления и мониторинга сельскохозяйственного оборудования: дождевальн...
Цена по запросу
★ 4.7
Подробнее →

Категории каталога

Разделы каталога Цифрового маркетплейса, в которые входят решения, использующие «OpenTelemetry».

Где применяется

Отрасли, в которых «OpenTelemetry» используется на практике. Откройте отраслевой раздел Цифрового маркетплейса, чтобы увидеть подходящие решения, кейсы и новости.

Частые вопросы про OpenTelemetry

В чём разница между OpenTelemetry и Prometheus?

Prometheus – специализированная система мониторинга метрик с pull-моделью и своим форматом. OpenTelemetry – универсальный стандарт для трёх сигналов (traces, metrics, logs) с push-моделью. OTel может экспортировать метрики в Prometheus.

Что такое OTLP?

OTLP (OpenTelemetry Protocol) – стандартный протокол передачи телеметрии на базе gRPC/HTTP+protobuf. Стабилен для трассировок, метрик и логов. Поддерживается всеми major observability-платформами.

Нужно ли изменять код приложения для OTel?

Не обязательно. Auto-instrumentation (Java agent, Python opentelemetry-instrument) автоматически инструментирует популярные фреймворки. Для детальной трассировки бизнес-логики – нужен manual instrumentation.

Как OpenTelemetry связывает логи с трассировками?

Через поля TraceId и SpanId в записях лога. Logs Bridge API позволяет существующим логгерам (log4j, zap, slog) автоматически добавлять контекст трассировки в каждую запись.

Что такое OpenTelemetry Collector?

Vendor-агностичный агент/шлюз для приёма, обработки и экспорта телеметрии. Поддерживает десятки источников (OTLP, Jaeger, Prometheus) и назначений (Tempo, Loki, Datadog, New Relic).

Как OTel интегрируется с Kubernetes?

OpenTelemetry Operator для Kubernetes позволяет декларативно настроить инструментирование Pod'ов через CRD Instrumentation. Operator автоматически внедряет init-контейнер с auto-instrumentation.