Перейти к содержанию

Наблюдаемость своими руками: руководство по OpenTelemetry для ленивых разработчиков

6.0/10

Контекст

Авторы объясняют, почему разработчиков всё чаще просят «сдвинуть влево» и наблюдать за своим кодом, хотя это кажется лишней работой для SRE. На примере OpenTelemetry они показывают, что инструментирование сокращает время отладки, ускоряет поставку, улучшает код и помогает разбираться в распределённых системах и «вибекоде».

Суть

Главный совет — начинать с бескодового (zero-code) инструментирования, а затем добавлять ручные спаны, логи и метрики, практикуя разработку, управляемую наблюдаемостью. Авторы признают боли: зависимость от языковых SIG, отсутствие автоинструментирования в некоторых языках, незрелость экосистемы и проблемы стабильности API. Для локальной разработки они предлагают поднять OpenTelemetry Collector с OTLP-приёмником, отладочным экспортёром и коннектором SpanMetrics, а для визуализации — три открытых инструмента: OTel Desktop Viewer (только трейсы), otel-tui (трейсы, логи, метрики, топология) и OTel Front (трейсы, логи, метрики, но дашборд некликабелен). Также они советуют использовать ИИ-ассистентов для инструментирования, но с конкретными промптами и проверкой решений. Отмечают сложности настройки, зависимость от сторонних мейнтейнеров и отставание от актуальных версий OpenTelemetry.

Вывод

По мнению авторов, разработчикам стоит инструментировать свой код с OpenTelemetry: это окупается за счёт меньшего времени на отладку и лучшего понимания системы. Наблюдаемость — не новая чужая обязанность, а продолжение того, что разработчики уже делали с логами и профилированием.