OpenTelemetry (OTel) — открытый стандарт CNCF для сбора traces, metrics, logs из приложений. Объединил OpenTracing (2016) + OpenCensus (2018) в 2019. Цель — избавить разработчиков от вендор-lock-in монитрногов.
Три пиллара observability: (1) Metrics — числовые ряды (CPU%, request count), (2) Logs — текстовые события, (3) Traces — путь запроса через микросервисы (span'ы). OTel даёт единый SDK для всех трёх на 11 языках (Go, Python, Java, Node, .NET, Ruby, PHP, C++, Rust, Erlang, Swift).
Архитектура: SDK в приложении генерирует telemetry → OTel Collector (агент/шлюз) агрегирует и трансформирует → бэкенды: Prometheus (metrics), Jaeger/Tempo (traces), Loki (logs), Datadog, New Relic, Honeycomb. Меняете бэкенд — код приложения не трогается.
Практика: инструментация HTTP-сервера — 5 строк кода, вы уже видите trace-graph каждого запроса через свои микросервисы. Auto-instrumentation для популярных фреймворков (Express, Flask, Spring) — 0 строк кода, инжектится агентом.