Вступить в клуб →
средняявопросDocker, CI/CD и эксплуатация сервиса

После добавления метки user_id в метрику Prometheus съел всю память

REQUESTS = Counter(
    "http_requests_total", "Запросы", ["method", "path", "status", "user_id"]
)

REQUESTS.labels(request.method, request.url.path, status, user.id).inc()

Сервисом пользуются 300 тысяч человек. Через день Prometheus перестал справляться. Почему?

  • Каждое значение метки — отдельный временной ряд, их стали миллионы
  • Counter нельзя использовать со строковыми метками
  • Prometheus хранит все метрики в памяти только первые сутки
  • Метки должны передаваться по имени, иначе ряды дублируются

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела