OpenTelemetry за один день: traces, metrics, logs в одном pipeline
Когда нам прилетел баг «у пользователя не оформляется заказ», я открыл три вкладки: Datadog для трейсов, CloudWatch для логов и отдельный Grafana для метрик. Провёл двадцать минут, пытаясь склеить в голове события из разных систем по timestamp. Потом ещё десять — убеждая себя, что это нормально.
Это не нормально.
Проблема не в инструментах — каждый из них хорош. Проблема в том, что три источника данных не знают друг о друге. Трейс не знает, какой лог к нему относится. Лог не знает, в каком трейсе он возник. Метрики вообще живут своей жизнью.
OpenTelemetry решает именно это: единый стандарт для всех трёх сигналов — traces, metrics, logs — с автоматической корреляцией между ними. И самое важное: вы не привязаны ни к одному вендору. Сегодня Grafana, завтра Jaeger, послезавтра что угодно — код приложения не меняется.
В этой статье я покажу, как поднять полноценный observability-стек с нуля за один рабочий день. С реальным кодом, docker-compose, и результатом, которым можно пользоваться в production.