Этот вопрос проверяет понимание того, что представляет собой Prometheus, как он собирает метрики и почему он является стандартом для мониторинга микросервисов и Kubernetes.
Prometheus — это система мониторинга, которая собирает метрики из сервисов по протоколу HTTP, хранит их как временные ряды и позволяет выполнять мощные запросы через язык PromQL.
Он работает по модели pull: сам регулярно опрашивает эндпоинты /metrics, а не ждёт, что приложения отправят данные.
Prometheus интегрируется с Kubernetes, поддерживает алерты через Alertmanager и легко визуализируется в Grafana.
Это делает его стандартом мониторинга для микросервисных и облачных систем.
Prometheus — это открытая система мониторинга и алертинга, ориентированная на сбор time-series метрик. Она широко используется в современных распределённых системах из-за своей надёжности, гибкости и глубокой интеграции с Kubernetes.
Главная идея Prometheus — он сам регулярно опрашивает сервисы:
каждые N секунд обращается к /metrics
получает текстовый формат метрик
сохраняет их как временные ряды
Такой подход даёт плюсы:
простое масштабирование
нет необходимости в централизованной отправке
лёгкое обнаружение новых сервисов (например, через Kubernetes Service Discovery)
Метрики имеют вид:
text
http_requests_total{method="GET", status="200"} 1523
app_active_users 24
Структура:
имя метрики
набор лейблов (labels)
значение
Это позволяет гибко фильтровать и агрегировать данные.
Prometheus включает свой язык запросов, позволяющий:
считать скорость изменений (rate())
агрегировать данные (sum(), avg(), max())
строить сложные правила алертинга
Пример:
text
rate(http_requests_total[5m])
Получаем "запросы в секунду".
Kubernetes умеет автоматически добавлять сервисы как targets, что делает Prometheus стандартом де-факто для мониторинга контейнеров.
Используются объекты:
ServiceMonitor
PodMonitor
Отдельный компонент системы, который:
получает правила алертинга
отправляет уведомления (Slack, email, PagerDuty)
поддерживает группировку и подавление алертов
Пример правила:
yaml
- alert: HighErrorRate
expr: rate(http_requests_total{status="500"}[5m]) > 1
for: 2m
labels:
severity: warning
annotations:
description: "Error rate is high"
Prometheus может мониторить всё, даже системы без поддержки метрик:
node_exporter — серверные метрики
postgres_exporter — PostgreSQL
redis_exporter — Redis
blackbox_exporter — доступность сервисов
Это делает систему универсальной.
Prometheus фокусируется на метриках, а не логах.
Он оптимизирован под высокочастотные временные ряды и отлично работает в средах с динамическими сервисами.
Prometheus — это мощная, гибкая и масштабируемая система мониторинга, построенная вокруг идей:
pull-модели сбора метрик
временных рядов
языка PromQL
автообнаружения сервисов (особенно в Kubernetes)
простого и надёжного алертинга
Это делает его основным инструментом мониторинга микросервисов и cloud-native инфраструктуры.
Уровень
Рейтинг:
5
Сложность:
5
Навыки
Docker
Networks
Kubernetes
Ключевые слова
Подпишись на Python Developer в телеграм