14 ноября 2024 года состоялся релиз системы мониторинга серверов и приложений с открытым исходным кодом Prometheus 3.0. Исходный код решения написан на Go и TypeScript и опубликован на GitHub под лицензией Apache License 2.0. Предыдущая мажорная версия проекта Prometheus 3.0 вышла в ноябре 2017 года.
Prometheus использует в ядре БД временных рядов (Time series database, TSDB), поддерживает сбор данных из различных источников посредством экспортеров и шлюза PushGateway. В проекте имеются инструменты для анализа данных, подсистема уведомлений и простой веб-интерфейс. Для визуализации рекомендуется использовать Grafana.
«Этот выпуск включает новые функции, такие как совершенно новый пользовательский интерфейс и поддержка UTF-8, включённая по умолчанию. Поскольку это первая новая основная версия за семь лет, вводится несколько критических изменений. Критические изменения в основном касаются удаления устаревших флагов функций и аргументов CLI, а полный список можно найти ниже. Пользователям, желающим обновиться, мы рекомендуем прочитать наше руководство по миграции», — уточнили разработчики проекта.
В Prometheus 3.0 появился новый пользовательский интерфейс с меньшим количеством беспорядка, более современным внешним видом, новыми функциями, такими как древовидное представление в стиле PromLens. Новая версия упрощает дальнейшее обслуживание за счёт использования более современного технического стека.
Также в Prometheus 3.0 обновлён код протокола Remote Write 2.0 (там теперь используется интернирование строк для уменьшения размера полезной нагрузки и использования ЦП при сжатии и распаковке), появилась поддержка UTF-8 в большем количестве SDK и инструментов (в настоящее время только клиентская библиотека Go обновлена для поддержки UTF-8, но поддержка других языков будет добавлена в ближайшее время) и OTLP (включая OpenTelemetry OTLP Ingestion), обновлены нативные гистограммы.
Проект Prometheus 3.0 содержит несколько критических изменений, включая изменения флагов функций, файлов конфигурации, PromQL и протоколов сбора данных.
«Впечатляет то, чего мы достигли в сообществе с момента Prometheus 2.0. Мы все любим цифры, поэтому давайте отпразднуем улучшения эффективности, которые мы сделали для использования как ЦП, так и памяти для режима TSDB. Ниже вы можете увидеть показатели производительности между тремя версиями Prometheus на узле с 8 ЦП и 49 ГБ выделенной памяти», — пояснили разработчики проекта. Версия 2.0.0 вышла 7 лет назад, релиз 2.18.0 состоялся 4 года назад и текущая 3.0.0.
«Более того, впечатляет то, что эти цифры были получены с помощью нашего макробенчмарка prombench, который использует те же запросы, конфигурацию и среду PromQL, подчёркивая обратную совместимость и стабильность основных функций, даже с 3.0», — подытожили разработчики проекта.
Источник: habr.com