Что это такое
Prometheus — система мониторинга и база временных рядов. Она собирает числовые метрики с приложений и инфраструктуры, хранит их с временными метками, позволяет запрашивать данные через PromQL и строить оповещения.
Проект стал стандартом для наблюдаемости в облачной инфраструктуре, потому что хорошо подошел к миру сервисов, контейнеров и динамически меняющихся узлов.
Как работает модель
В типичном сценарии приложения и экспортеры публикуют метрики по HTTP, а Prometheus регулярно забирает их сам. Такой pull-подход упрощает контроль: сервер мониторинга знает, кого он опрашивает и когда данные пропали.
Метрики хранятся как временные ряды с именами и метками. Метки позволяют различать экземпляры, методы, статусы, очереди и другие измерения, а PromQL дает язык для вычислений поверх этих рядов.
Пример запроса PromQL
Пример показывает типичный вопрос к метрикам: не просто посмотреть счетчик, а вычислить скорость запросов за последние пять минут и сгруппировать ее по HTTP-статусу.
sum by (status) (
rate(http_requests_total[5m])
)
Что внутри репозитория
В репозитории находится сервер Prometheus, механика хранения, запросов, оповещений, обнаружения сервисов и пользовательского интерфейса. Часть экосистемы живет в отдельных проектах, но именно этот репозиторий является ядром системы.
Prometheus хорошо сочетается с экспортерами: отдельные компоненты переводят метрики баз данных, систем, брокеров и приложений в понятный формат.
Сильные стороны
Главная сильная сторона — модель метрик с метками и мощный язык запросов. Можно быстро перейти от вопроса “сервис жив?” к более точным вопросам о задержках, ошибках, насыщении ресурсов и поведении отдельных групп запросов.
Вторая сильная сторона — экосистема. Для многих распространенных систем уже есть экспортеры, готовые панели и практики оповещений.
Ограничения
Prometheus не является хранилищем логов или трассировок. Он отлично работает с числовыми временными рядами, но для событийных данных нужны другие инструменты.
Также важно контролировать кардинальность меток. Если добавлять в метки идентификаторы пользователей, заказов или запросов, база временных рядов быстро станет тяжелой и дорогой в эксплуатации.
Кому подойдет
Prometheus подходит командам, которым нужны метрики приложений, инфраструктуры, контейнеров и сервисов с понятными оповещениями и запросами.
Лучше всего он раскрывается, когда команда заранее договаривается о названиях метрик, метках, правилах оповещений и ответственности за шумные сигналы.