Сначала разделите нагрузку метрик и трейсов: cardinality в VictoriaMetrics не объясняет автоматически OOM tail sampler, который удерживает незавершённые трейсы.
[имя] и tail-based sampling: у вас 20 миллионов активных временных рядов в VictoriaMetrics и tail-based sampling в OpenTelemetry Collector.
Сначала разделите нагрузку метрик и трейсов: cardinality в VictoriaMetrics не объясняет автоматически OOM tail sampler, который удерживает незавершённые трейсы.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
[имя] и tail-based sampling: у вас 20 миллионов активных временных рядов в VictoriaMetrics и tail-based sampling в OpenTelemetry Collector. При резком всплеске трафика во время Чёрной пятницы коллектор начинает падать из-за OOM, а часть трейсов теряется. SLO-алерты ещё не сработали, но наблюдается рост latency. Как диагностируете проблему, что конкретно измените в конфигурации коллектора и как обеспечите, чтобы трейсы с ошибками не терялись при любом объёме?
Ответ
Сначала разделите нагрузку метрик и трейсов: cardinality в VictoriaMetrics не объясняет автоматически OOM tail sampler, который удерживает незавершённые трейсы.
Проверьте RSS, скорость новых trace ID, размер трейсов, очереди и dropped spans. Ограничьте память, подберите decision_wait и num_traces по измерениям; сокращение ожидания рискует пропустить позднюю ошибку. Масштабируйте sampler с маршрутизацией всех spans одного trace на один экземпляр, добавьте политику сохранения ERROR. Экспортная очередь не восстанавливает уже потерянный буфер sampler. Гарантия «при любом объёме» невозможна: нужны рассчитанная ёмкость, запас, backpressure и наблюдение за потерями.
Источник: github.com.