Prometheus
Что такое Prometheus?
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.