В Prometheus-стеке собирается более 500 миллионов метрик в день, а запросы в Grafana стали медленными. Расширять железо нельзя. Как оптимизировать хранение, downsampling, политику retention и паттерны запросов, сохранив наблюдаемость и критичные алерты?

Сначала различите число samples и активных временных рядов: 500 млн отсчётов в сутки — около 5,8 тыс. в секунду. Основные меры — снизить кардинальность, убрать лишний сбор и оптимизировать запросы.

Короткий ответ

Что ответить на собеседовании

Сначала различите число samples и активных временных рядов: 500 млн отсчётов в сутки — около 5,8 тыс. в секунду. Основные меры — снизить кардинальность, убрать лишний сбор и оптимизировать запросы.

Подробный разбор

Ответ с пояснениями

Сначала различите число samples и активных временных рядов: 500 млн отсчётов в сутки — около 5,8 тыс. в секунду. Основные меры — снизить кардинальность, убрать лишний сбор и оптимизировать запросы.

Найдите метрики с user_id, request_id и другими неограниченными labels, дорогие панели и чрезмерно частый scrape. Для повторяющихся вычислений используйте recording rules; для дашбордов ограничьте диапазон и разумно выбирайте step. Критичные алерты должны сохранять нужную детализацию. Локальный Prometheus не выполняет автоматический downsampling старых samples: долгосрочные агрегаты требуют отдельно спроектированного хранения или backend с такой возможностью. Recording rules сами добавляют ряды. Retention сокращайте только после согласования требований и проверки доступности нужной истории.

Источник: prometheus.io.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее