Выбор ответа Middle Основы наблюдаемости спрашивают часто обновлено

Метка user_id в метрике

Вопрос

Разработчик добавил метку user_id в метрику http_requests_total, пользователей 2 миллиона. Что произойдёт?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Взрыв кардинальности: миллионы рядов, рост памяти Prometheus. Каждая уникальная комбинация меток это отдельный временной ряд со своей памятью в TSDB.

Варианты ответа

  1. Ничего: метки хранятся в сжатом виде и почти не занимают памяти
  2. Взрыв кардинальности: миллионы рядов, рост памяти Prometheusправильный ответ
  3. Prometheus сам отбросит лишние значения метки сверх лимита
  4. Метрика просто станет точнее, запросы по ней останутся быстрыми

Разбор

Каждая уникальная комбинация меток это отдельный временной ряд со своей памятью в TSDB. Миллионы рядов на одну метрику съедают память и делают запросы медленными. Prometheus не отбрасывает метки сам (лимиты на число рядов в scrape можно настроить, но тогда пропадёт вся цель). Данные по конкретным пользователям место в логах и трейсах.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.