Overview
Особенности
- Многомерная (dimensions) модель данных с time series данными, которые идентифицируются по имени метрики и key value парам
- PromQL, гибкий язык запросов с помощью которого можно использовать многомерность данных
- Независимость от стораджа, каждая нода автономна
- Данные собираются по pull модели по http
- Push модель доступна с использованием push gateway
- Цели отыскиваются через service discovery или берутся из статической конфигурации
- Поддерживается возможность использования нескольких рисовалок графиков и дашборд систем
Компоненты
Экосистема Prometheus содержит множество компонентов, многие из которых опциональны
- Prometheus server, который собирает и хранит данные
- Библиотеки под разные языки программирования которые позволяют писать софт который может работать с prometheus'ом
- Push gateway для поддержки маложивущих джоб
- Экспортеры специального назначения для различных сервисов
- Alertmanager для алертов
- Множество инструментов для поддержки
Архитектура
Prometheus собирает метрики с каждой цели отдельно или через промежуточный push gateway (нужен для short-lived jobs)
Сохраняет их данные локально и запускает правила поверх этих данных для аггрегации или генерации алертов
Grafana или что-то другое работающее через API, может быть использовано для визуализации данных
Так как prometheus автономный, он не зависит от сетевых хранилищ (БД) или других удаленных сервисов
На него можно положиться когда вся инфраструктура сломана
А еще он не требует большой инфраструктуры для себя
No Comments