Компания «МикроСерв» — 40 микросервисов, 3 языка (Go, Python, Java). Текущий стек наблюдаемости:
- Метрики: Prometheus + Grafana
- Логи: ELK (Elasticsearch + Logstash + Kibana)
- Трейсы: Jaeger (только 8 из 40 сервисов инструментированы)
Проблемы:
- Нет корреляции: ошибка в логах → невозможно найти трейс → невозможно понять, какой сервис сломался
- Vendor lock-in: переход с Jaeger на Grafana Tempo потребует переписать инструментацию во всех сервисах
- Разные SDK: Go-сервисы используют один Jaeger SDK, Python — другой, Java — третий
OpenTelemetry (OTel) — единый стандарт (CNCF), который решает все три проблемы: один SDK для всех языков, один протокол (OTLP), один Collector для маршрутизации данных в любой бэкенд.
# Архитектура OTel
# App (SDK) → OTLP → Collector → Prometheus (metrics)
# → Tempo/Jaeger (traces)
# → Loki (logs)
#
# Смена бэкенда = изменение конфига Collector, не кода
Комментарии 0