Prometheus

Prometheus логотип 2024

Что такое Prometheus?

архитектура promotheus

Prometheus - это набор инструментов для мониторинга и оповещения систем с открытым исходным кодом, изначально созданный в компании SoundCloud.

С момента его создания в 2012 году многие компании и организации приняли Prometheus, и проект имеет очень активное сообщество разработчиков и пользователей. Сейчас это самостоятельный проект с открытым исходным кодом, который поддерживается независимо от какой-либо компании. Чтобы подчеркнуть это и уточнить структуру управления проектом, в 2016 году Prometheus присоединился к Cloud Native Computing Foundation в качестве второго размещенного проекта после Kubernetes.

Prometheus собирает и хранит свои метрики в виде временных рядов, то есть информация о метриках хранится с меткой времени, в которую она была записана, а также с дополнительными парами ключ-значение, называемыми метками.

Более подробные обзоры Prometheus можно найти на ресурсах, ссылки на которые приведены в разделе Медиа.

Преимущества

Размерные данные

В Prometheus реализована высокоразмерная модель данных. Временные ряды идентифицируются именем метрики и набором пар ключ-значение.

Мощные запросы

PromQL позволяет нарезать собранные данные временных рядов на кусочки и создавать специальные графики, таблицы и оповещения.

Великолепная визуализация

В Prometheus есть несколько способов визуализации данных: встроенный браузер выражений, интеграция с Grafana и язык шаблонов консоли.

Эффективное хранение

Prometheus хранит временные ряды в памяти и на локальном диске в эффективном пользовательском формате. Масштабирование достигается за счет функционального чередования и федерации.

Простое управление

Каждый сервер является независимым для обеспечения надежности, полагаясь только на локальное хранилище. Все двоичные файлы написаны на языке Go, статически связаны и легко развертываются.

Точное оповещение

Оповещения определяются на основе гибкого языка Prometheus PromQL и содержат размерную информацию. Менеджер оповещений управляет уведомлениями и глушением.

Множество клиентских библиотек

Клиентские библиотеки позволяют легко настраивать сервисы. Уже поддерживается более десяти языков, и пользовательские библиотеки легко реализовать.

Множество интеграций

Существующие экспортеры позволяют подключать к Prometheus данные сторонних разработчиков. Примеры: системная статистика, а также метрики Docker, HAProxy, StatsD и JMX.

Источники