Наблюдаемость
OTel: тест с множественным выбором
Шесть вопросов, прошивающих весь юнит. Каждый отражает реальное архитектурное или инцидентное решение — не определение для заучивания, а место, где вносить изменение, и почему оно ложится именно туда.
Убедись, что связываешь четыре части — API, SDK, Collector, OTLP — с решениями, которыми они управляют: где живёт портируемость, что даёт корреляцию сигналов, как sampling и пайплайн Collector складываются вместе и как всё это падает в проде.
Платформенная команда заявляет полную vendor-нейтральность OTel. На ревью всплывают два факта: код приложения напрямую импортирует вендорский SDK dd-trace, а перед каждым сервисом стоит Collector, конвертирующий в OTLP. Нейтральны ли они и почему?
Команде нужен tail sampling, сохраняющий 100% трейсов с ошибками. Они гоняют один agent Collector как DaemonSet (по одному на ноду), экспортирующий прямо в backend. Почему это не работает и каков минимальный фикс?
Два сервиса эмитят HTTP-телеметрию. Сервис A тегирует маршрут как http.route; сервис B — как http_route. OTLP-экспорт успешен у обоих, ошибки SDK нет. Что на самом деле ломается и где?
В продовом trace-пайплайне у тебя memory_limiter, batch и tail_sampling. Почему memory_limiter должен быть первым и каково последствие постановки tail_sampling первым?
У metrics-backend взрывается кардинальность после флотового раската OTel auto-instrumentation. Новое измерение, разгоняющее её, — атрибут url.full у HTTP-клиента. Какова корневая причина и правильный фикс?
Твой единственный gateway OTel Collector падает во время инцидента. Дашборды on-call остаются зелёными и алерты не срабатывают, хотя пользовательские ошибки растут. Каков урок и структурный фикс?
Сквозная линия: портируемость решается на границе приложения (эмить OTLP там или нигде), корреляция решается Semantic Conventions (согласованные имена или невидимые сервисы), а Collector — это место, где живёт политика: порядок процессоров его защищает, sampling складывает дешёвый head и курируемый tail, а gateway должен быть HA и самонаблюдаемым, потому что когда Collector падает, твоя видимость падает молча. Каждый продовый сбой этого юнита — размытая нейтральность, разрезанные трейсы, дрейф именования, OOM, утечки кардинальности, слепые дашборды — сводится к одной из этих четырёх частей.