awesome-everything EN
↑ Обратно к восхождению

Наблюдаемость

Три pillarа: тест с выбором ответа

Суть Тест с выбором на синтез по всему юниту — выбор сигнала, cardinality, объём логов, sampling, join-ключи и сдвиг стоимости в observability 2.0.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 13 min

Шесть вопросов поперёк всего юнита. Каждый отражает решение, которое ты принимаешь в инциденте или при инструментировании — не определение для заучивания, а компромисс по стоимости, который надо взвесить.

Цель

Убедись, что выбираешь правильный сигнал под вопрос, рассуждаешь о его оси стоимости и связываешь три pillarа через join-ключи — тот синтез, к которому вели отдельные уроки.

Викторина

Продакт хочет per-customer error rate в разбивке по конкретному customer_id для 200k активных клиентов, с запросом за последние 30 дней. В стеке 1.0 какой сигнал несёт эти данные и почему не остальные?

Викторина

Два сервиса делят тяжёлый эндпоинт. Сервис A держит стабильный набор label (route × method × status_class = 400 серий), но логирует каждый запрос. Сервис B имеет крошечный объём логов, но добавил user_id в один counter. Кто первым угрожает своему бэкенду и по какой оси?

Викторина

Команда применяет tail-based sampling на коллекторе, оставляя 100% ошибок и 2% успехов. Их счёт за traces почти не падает против 100%-хранения, хотя сохранённый объём резко снизился. Почему?

Викторина

Метрики используют route='/checkout', логи — http_path='/checkout', трейсы — http.route='/checkout'. Данные корректны и текут. Что на самом деле ломается и какой фикс?

Викторина

Команда из 40 сервисов тратит ~2 инженеро-недели в квартал на надзор за cardinality-бюджетами и ~3 часа на инцидент на кросс-pillar пивоты. Ещё они держат 5 лет low-cardinality SLO-метрик для комплаенса. Какова senior-рекомендация?

Викторина

Во время инцидента on-call обнаруживает, что нужный трейс никогда не семплировался — SDK использует ParentBased(TraceIdRatioBased), но trace_id выводится из хеша пути запроса. Корневая причина и устойчивый фикс?

Итог

Сквозная линия юнита — одно решение: вопрос выбирает сигнал по его самой дешёвой оси стоимости. Metrics дёшевы в запросе, но гибнут на cardinality; logs сохраняют всё, но платят байтами ingestion; traces сохраняют причинность, но обязаны семплировать (а tail sampling смещает стоимость со storage на коллектор). Join-ключи — service.name, trace_id, http.route через OpenTelemetry Semantic Conventions — это то, что делает три pillarа единой навигационной поверхностью. Модель wide-event 2.0 схлопывает все три, когда инженерная стоимость cardinality-дисциплины и кросс-pillar пивотов превышает счёт за единый бэкенд — это экономический, а не идеологический выбор.

Продолжить восхождение ↑Три pillarа: тест на свободное воспроизведение
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.