Выбор ответа Middle Основы наблюдаемости спрашивают часто обновлено
Метка user_id в метрике
Вопрос
Разработчик добавил метку user_id в метрику http_requests_total, пользователей 2 миллиона. Что произойдёт?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Взрыв кардинальности: миллионы рядов, рост памяти Prometheus. Каждая уникальная комбинация меток это отдельный временной ряд со своей памятью в TSDB.
Варианты ответа
- Ничего: метки хранятся в сжатом виде и почти не занимают памяти
- Взрыв кардинальности: миллионы рядов, рост памяти Prometheusправильный ответ
- Prometheus сам отбросит лишние значения метки сверх лимита
- Метрика просто станет точнее, запросы по ней останутся быстрыми
Разбор
Каждая уникальная комбинация меток это отдельный временной ряд со своей памятью в TSDB. Миллионы рядов на одну метрику съедают память и делают запросы медленными. Prometheus не отбрасывает метки сам (лимиты на число рядов в scrape можно настроить, но тогда пропадёт вся цель). Данные по конкретным пользователям место в логах и трейсах.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.