Ответ вслух Middle Prometheus: сбор и хранение спрашивают часто обновлено

Как устроен Prometheus

Вопрос

Интервьюер: «Расскажите, как устроен Prometheus и как вы его разворачивали».

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

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

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

Коротко

Образцовый ответ: «Prometheus сам опрашивает цели по HTTP, находит их через service discovery, в Kubernetes через API. Каждый ряд это имя плюс метки, типы counter, gauge, histogram и summary.

Что должно прозвучать в ответе

  • Pull-модель: опрос /metrics, service discovery, метрика up

  • Модель данных: метрика плюс метки, типы метрик

  • Хранение: локальная TSDB, блоки, ретеншн

  • Правила: recording и alerting, Alertmanager отдельно

  • Ограничения: одиночный узел, долгое хранение и HA через Thanos, Mimir или VictoriaMetrics

  • В Kubernetes: Prometheus Operator, ServiceMonitor, kube-prometheus-stack

Что могут спросить следом

  • Что будет, если Prometheus упадёт на 10 минут?
  • Как вы боролись с кардинальностью?

Разбор

Образцовый ответ: «Prometheus сам опрашивает цели по HTTP, находит их через service discovery, в Kubernetes через API. Каждый ряд это имя плюс метки, типы counter, gauge, histogram и summary. Данные лежат в локальной TSDB: голова в памяти с WAL, каждые два часа блок на диск, ретеншн у нас был 15 дней. Recording rules заранее считали тяжёлые агрегаты для дашбордов, alerting rules отправляли алерты в Alertmanager, он группировал и роутил в Telegram и PagerDuty-подобную систему. Разворачивали kube-prometheus-stack с оператором, команды описывали свои ServiceMonitor. Два одинаковых Prometheus для HA и remote_write в VictoriaMetrics для хранения на год. Если один Prometheus упадёт, второй продолжит, а дыра в его данных закроется дедупликацией в хранилище».

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

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