Стадия жизненного цикла модуля: Общедоступная версия

У модуля есть требования для установки

Заметки к релизам модуля Prom++. Каждая запись имеет единую структуру: дату релиза, опциональные краткое описание и ключевые изменения, а также секции в порядке Ключевые изменения → Новый функционал → Улучшения → Исправления → Обновления безопасности → Несовместимые изменения → Что учесть при обновлении → Известные ограничения → Документация → Зависимости. Пустые секции не выводятся.

v3.8.19

Дата релиза: 2026-10-01

Кратко: меньше памяти и быстрее запись вокруг ротации головы, исправлено падение на некорректной native-гистограмме от цели скрейпа, появился способ заметить, что инстанс работает не с теми фича-флагами, которые ожидались.

Новый функционал

  • Появилась необязательная переменная окружения PROMPP_FEATURES_DEFAULT — в неё кладётся набор флагов, с которым инстанс должен работать. При старте он сравнивается с PROMPP_FEATURES, результат публикуется метрикой prompp_features_differ_from_default: 1 — наборы расходятся, 0 — совпадают, так что на расхождение конфигурации можно повесить алерт. Разница пишется и в лог. Сравнение не зависит от порядка и пробелов, а равнозначные значения считаются одинаковыми — 60m и 1h расхождением не будут.

Улучшения

  • Снизилось потребление памяти после ротации головы: ротированная голова теперь освобождает структуры поиска, которые были нужны только на приёме данных, а не держит их до истечения retention.
  • Запись больше не замедляется сразу после ротации. Дорогая подготовка первого WAL-сегмента новой головы теперь выполняется во время самой ротации, до того как голова начинает принимать данные. Сама ротация из-за этого идёт дольше, но предыдущая голова всё это время продолжает принимать запись.
  • Кодирование данных стало примерно на 10% быстрее.
  • Идентификаторы голов теперь UUIDv7 — каталоги голов и записи каталога сортируются в порядке создания, что удобно при разборе содержимого директории данных.

Исправления

  • Исправлено падение из-за некорректной native-гистограммы, пришедшей от цели скрейпа по protobuf. Теперь такая гистограмма отбраковывается валидацией, а не роняет процесс.
  • Исправлена скрытая ошибка, из-за которой будущая миграция формата head.log очистила бы каталог голов — потерялись бы активная голова, ещё не сброшенные на диск головы и позиции remote write.
  • Добавлены точки монтирования для prometheus-main-rulefiles-5…-99 — в инсталляциях, где правила алертинга и записи не умещаются в пять ConfigMap’ов, теперь монтируются все.

Обновления безопасности

  • Обновлён moment в веб-интерфейсе до 2.31.0 — закрыта GHSA-4p3w-j4w9-5jqw (обход пути через специально составленное имя локали).
  • Набор базовых образов обновлён с v3.0.3 до v3.1.6.
  • Исправлено переиспользование стадии VEX-аттестации между реестрами.

Несовместимые изменения

  • Удалена метрика prompp_data_storage_gorilla_count вместе с комбинированным путём кодирования, который она считала. Уберите её из дашбордов и алертов.

v3.8.18

Дата релиза: 2026-09-20

Кратко: исправлены утечка памяти при включённых аренах jemalloc и ситуация, когда живые серии могли пропасть из индекса; Go обновлён до 1.26.8, обновлён ряд зависимостей — закрыты известные уязвимости.

Новый функционал

  • Серии без сэмплов теперь отбраковываются при разборе remote-write запроса, а не на более дорогой стадии записи в индекс. Если клиент присылает такие серии намеренно, включите PROMPP_FEATURES=enable_skip_no_samples_series — они будут пропускаться без ошибки.
  • Экспериментальный формат сегментов WAL V2 теперь можно включить флагом PROMPP_FEATURES=enable_wal_writer_v2. По умолчанию выключен.

Исправления

  • Исправлена утечка памяти: при включённых аренах jemalloc память завершённых чанков не возвращалась системе.
  • Исправлено то, что серии, в которые продолжали поступать данные по remote write, могли посчитаться неактивными и быть вычищены из индекса — запросы переставали их находить.
  • Исправлено рассогласование внутреннего учёта головы с индексом наборов меток, если релейблинг завершался ошибкой.

Обновления безопасности

  • Go, которым собирается модуль, обновлён с 1.26.5 до 1.26.8 — закрыты семь уязвимостей стандартной библиотеки (net/url, html/template, crypto/tls, net/http, encoding/xml, encoding/asn1 и разбор DNS-записей).
  • Обновлён sanitize-html в веб-интерфейсе — исправлена хранимая XSS (GHSA-g8qq-57p8-ggw5).
  • Обновлены gRPC до 1.83.2 (запрос без заголовков :authority и Host мог приводить к падению gRPC-сервера) и все модули OpenTelemetry до 1.45.0.

v3.8.17

Дата релиза: 2026-09-08

Кратко: исправлен баг квериера чанков, приводивший к панике, проблема с ротацией секрета при релоаде конфига remote write и гонка при остановке; также обновление безопасности grpc/crypto.

Исправления

  • Исправлен баг квериера чанков, который мог приводить к падению процесса при исчерпании чанков для перекодирования вместо корректного завершения выборки.
  • Исправлено то, что перезагрузка конфига remote write не замечала изменение секрета (например, ротацию токена авторизации) — данные продолжали отправляться со старым, уже недействительным токеном.
  • Исправлена гонка между остановкой и триггером ротации головы, которая могла приводить к панике процесса.
  • Эндпоинт профилирования /debug/jemalloc теперь сериализует параллельные запросы и возвращает 404, если профилирование jemalloc фактически не включено, вместо непредсказуемой ошибки.

Обновления безопасности

  • Обновлены google.golang.org/grpc и golang.org/x/crypto с закрытием уязвимостей.

Несовместимые изменения

  • Экспериментальные WebSocket и refill эндпоинты pp_protocol для remote write временно отключены (возвращают 404) на время доработки протокола.

v3.8.16

Дата релиза: 2026-09-01

Кратко: по умолчанию отключён флаг shrink_shard_copier — из-за него могли периодически пропадать метрики, полученные через Remote Write.

Исправление ошибок

  • Отключён по умолчанию флаг shrink_shard_copier: из-за него могли периодически пропадать метрики, полученные через Remote Write.

v3.8.15

Дата релиза: 2026-08-27

Кратко: MADV_RANDOM для отображений файлов блоков теперь включается отдельным флагом, чтобы не увеличивать нагрузку по IOPS на некоторых инсталляциях, а скрейпер теперь по умолчанию проверяет UTF-8 во всём теле скрейпа.

Исправления

  • Отключено по умолчанию madvise(MADV_RANDOM) для отображений в память файлов индекса/чанков блоков: на некоторых инсталляциях это увеличивало нагрузку по IOPS. Включить обратно можно флагом enable_madvise_random.

Улучшения

  • Скрейпер теперь по умолчанию проверяет UTF-8 во всём теле скрейпа, а не только в отдельных полях, как раньше, и находит невалидные символы в любом месте payload’а. Старое поведение можно вернуть флагом disable_scraper_full_utf8.

v3.8.14

Дата релиза: 2026-08-21

Кратко: исправлены падения при конвертации головы в исторический блок, убрали возможную ошибку состояния при обработке out of order точек, которая могла приводить к SIGSEV, а также обновления зависимостей безопасности.

Исправления

  • Исправлена проблема при конвертации головы в исторический блок: при высоком чёрне мог произойти выход за границы массива приводящий к падению.
  • Исправлена возможная ошибка состояния при обработке out of order точек.

Обновления безопасности

  • Обновлены Go-модуль golang.org/x/mod и пакет web-UI nanoid с устранением уязвимостей из upstream.

v3.8.13

Дата релиза: 2026-08-18

Кратко: релиз только на уровне модуля — возвращено поле weight в описании модуля, которое требуется для установки на старых версиях DKP.

Исправления

  • Возвращено поле weight в module.yaml, удалённое в v3.7.10: без него модуль не устанавливается на старых версиях DKP.

v3.8.12

Дата релиза: 2026-08-14

Кратко: теперь блоки могут группироваться по сегментам перед компакцией в схеме block-manager, повторные попытки remote write стали различимы, а новый флаг позволяет принудительно перевести remote write на HTTP/1.1.

Улучшения

  • Переработан компактор схемы хранения block-manager: блоки теперь могут группироваться по временному диапазону и сегменту перед планированием компакции, поэтому блоки из разных сегментов никогда не объединяются.
  • Повторные отправки remote write теперь несут стабильный идентификатор идемпотентности и настоящий номер попытки; лог неудачной отправки сообщает адрес назначения, номер попытки, длительность и размер сообщения.
  • Снижен объём страничного кеша для файлов блоков: их отображения в память больше не вызывают опережающее чтение ядром.

Исправления

  • Исправлена потенциальная гонка в счётчиках ссылок индекса серий.

v3.8.11

Дата релиза: 2026-08-07

Кратко: скрейпы больше 4 ГиБ больше не теряются целиком, снижено потребление памяти на запросах, ускорен разбор скрейпов и улучшено поведение при большом числе групп правил.

Ключевые изменения

  • Скрейпы размером больше 4 ГиБ больше не теряются целиком: раньше не сохранялись ни метрики, ни метаданные.
  • Улучшена производительность при большом количестве групп правил (от 1000), где раньше замедлялся сам аллокатор памяти.

Улучшения

  • Снижено потребление памяти на запросах с большим числом матчеров по меткам.
  • Ускорен разбор скрейпов.
  • Короткоживущие хранилища больше не создают арены памяти, которые не давали им выигрыша и только замедляли аллокатор.
  • Память объектов C++ освобождается раньше под растущей нагрузкой.

Исправления

  • Исправлен скрапинг очень больших ответов: смещения в буфере разметки стали 64-битными, поэтому ответ /federate размером больше 4 ГиБ разбирается и аппендится корректно, а не теряется целиком.

Обновления безопасности

  • Обновлены пакеты web-UI postcss и sanitize-html с устранением уязвимостей из upstream.

Документация

  • Исправлены неработающие ссылки в документации модуля, добавлены страницы справочника по конфигурации.

v3.8.10

Дата релиза: 2026-07-31

Кратко: меньше памяти на пути запросов, исправления крашей лога активных запросов и DataStorage, ускоренное чтение WAL-сегментов.

Ключевые изменения

  • Результаты запросов больше не удерживают крупные off-heap буферы до GC, что снижает рост памяти под нагрузкой запросов.
  • Исправлены SIGBUS-краши, связанные с логом активных запросов на некоторых файловых системах.

Улучшения

  • Снижено потребление памяти при выполнении запросов: буферы результатов запросов освобождаются сразу после построения ответа.
  • Ускорено чтение WAL-сегментов за счёт переиспользования буферов из пула.

Исправления

  • Исправлен SIGBUS в ActiveQueryTracker, когда лог активных запросов создавался как sparse-файл.
  • Исправлена гонка при инициализации статических объектов, которая могла приводить к ошибкам запуска на устаревших процессорах.

Обновления безопасности

  • Обновлены зависимости Go (github.com/klauspost/compress, go.opentelemetry.io/otel) и пакет web-UI postcss с устранением уязвимостей из upstream.

v3.8.9

Дата релиза: 2026-07-24

Кратко: корректное определение возможностей процессора для лучшей производительности «из коробки», ускоренный разбор метрик при скрейпе, меньше памяти при приёме данных, а также исправления стабильности и безопасности.

Ключевые изменения

  • Исправлено определение возможностей процессора: движок теперь выбирает правильный набор инструкций на современных CPU вместо базового, что повышает производительность «из коробки».
  • Ускорён разбор метрик при скрейпе.

Улучшения

  • Ускорён разбор метрик при скрейпе за счёт переработанного кодирования журнала предзаписи (WAL) скрейпера.
  • Снижено пиковое потребление памяти при приёме данных: снапшот транзакции теперь освобождается сразу после её коммита.
  • Образ модуля теперь использует статически слинкованный curl, что уменьшает число зависимостей в рантайме.
  • Заметки о релизе модуля теперь поставляются вместе с релизом и отображаются в интерфейсе Deckhouse (единый формат changelog).

Исправления

  • Исправлено определение возможностей процессора, которое всегда выбирало базовый набор инструкций даже на современных CPU, снижая производительность.

Обновления безопасности

  • Обновлены зависимости Go (golang.org/x/text, golang.org/x/net, google.golang.org/grpc) и пакеты web-UI (body-parser, webpack-dev-server, immutable) с устранением уязвимостей из upstream.

v3.8.8

Дата релиза: 2026-07-17

Кратко: инструменты восстановления после инцидентов и улучшения наблюдаемости, снижение потребления памяти при записи блоков, а также исправления стабильности и безопасности.

Ключевые изменения

  • Добавлена команда persist-head в prompptool для восстановления отдельного head в TSDB-блоки при разборе инцидентов.
  • Снижено потребление памяти при записи блоков на широких или разреженных временных интервалах.
  • Добавлено снятие heap-профиля jemalloc по запросу через HTTP для диагностики потребления памяти.

Улучшения

  • Запись блоков теперь пропускает блоки, которые целиком выходят за пределы периода хранения, что исключает лишние записи на диск.
  • Добавлен HTTP-эндпоинт /debug/jemalloc для снятия heap-профиля jemalloc по запросу (требует включённого профилирования при старте).
  • Добавлена метрика суммарного размера неизвестных объектов в локальном хранилище, делающая видимыми «остатки» на диске.
  • Снижено потребление памяти при записи блоков на широких или разреженных временных интервалах.

Исправления

  • Исправлено редкое аварийное завершение (heap-buffer-overflow) в обработчике устаревших чанков.
  • Оставшиеся временные каталоги блоков после прерванной компакции или персиста теперь очищаются при старте.

Обновления безопасности

  • Обновлён Go-тулчейн, устранены известные уязвимости безопасности.

v3.8.7

Дата релиза: 2026-07-16

Исправления

  • Убрана регистрация C++-метрик, так как она приводила к утечке памяти.

v3.8.6

Дата релиза: 2026-07-15

Исправления

  • Внутренний сборщик C++-метрик по умолчанию отключён, чтобы предотвратить редкое аварийное завершение (use-after-free), которое могло возникать при сборе метрик.

v3.8.5

Дата релиза: 2026-07-09

Улучшения

  • Переработано хранение исторических блоков на новом движке block-manager: улучшено планирование компакции и добавлены метрики диагностики раскладки блоков.
  • Core dump’ы больше не создаются при аварийном завершении, что предотвращает неожиданный рост занятого места в ограниченных окружениях (например, в Kubernetes).
  • Добавлены метрики для наблюдения за внутренним хранилищем данных.
  • Повышена производительность обработки наборов меток и записи индекса.

Обновления безопасности

  • Обновлены сборочный тулчейн и зависимости, устранены известные уязвимости безопасности.

v3.8.4

Дата релиза: 2026-06-11

Улучшения

  • Ускорена производительность instant-запросов.
  • Снижено потребление памяти при ротации head и обработке высококардинальных метрик через federation API.

Обновления безопасности

  • Обновлены базовые образы и компоненты безопасности.

v3.8.3

Дата релиза: 2026-06-02

Исправления

  • Исправлена ошибка кодировщика чанков, которая в отдельных случаях могла приводить к повреждению исторических данных.
  • Изменено поведение диапазонных запросов PromQL в соответствии с актуальным поведением Prometheus. В результате значения функций rate, sum_over_time и count_over_time могут незначительно отличаться от результатов предыдущих версий.

Обновления безопасности

  • Устранена уязвимость, которая могла приводить к исчерпанию памяти при выполнении запросов remote-read.
  • Устранены несколько XSS-уязвимостей в веб-интерфейсе.

v3.8.1

Дата релиза: 2026-05-15

Улучшения

  • Повышена производительность обработки данных и снижено потребление памяти при выполнении запросов в шардированных окружениях.

Исправления

  • Исправлена обработка WAL при ротации шардов.

Обновления безопасности

  • Обновлены зависимости и устранены известные уязвимости безопасности.

v3.8.0

Дата релиза: 2026-04-22

Улучшения

  • Добавлены метрики для анализа конкуренции за мьютексы и семафоры в Go-рантайме.
  • Добавлена метрика использования резидентной памяти аллокатора jemalloc.
  • Усилена защита компонентов C++ при сборке в соответствии с требованиями ГОСТ.
  • Улучшено освобождение ресурсов при ротации WAL.

v3.7.11

Дата релиза: 2026-05-15

Улучшения

  • Добавлены метрики эффективности повторного использования jemalloc-арен.

v3.7.10

Дата релиза: 2026-04-22

Улучшения

  • Добавлена поддержка формата WAL v2 для remote write.

Исправления

  • Исправлено ложное срабатывание алерта PrometheusRemoteWriteDesiredShards.
  • Устранены возможные проблемы при работе remote write под высокой нагрузкой.

v3.7.9

Дата релиза: 2026-03-30

Новый функционал

  • Добавлены новые PromQL-функции: op_defined, op_replace_nan, op_smoothie, op_zero_if_none и op_top.

Улучшения

  • Повышена производительность remote write.
  • Добавлено ограничение возраста данных для remote write, предотвращающее накопление WAL-файлов при недоступности внешних систем.

Исправления

  • Исправлен расчёт метрик ingestion.
  • Устранён рост потребления памяти при использовании пользовательских jemalloc-арен.

Обновления безопасности

  • Обновлены зависимости и устранены известные уязвимости безопасности.

v3.7.6

Дата релиза: 2026-02-20

Улучшения

  • Повышена производительность обработки правил и отправки данных через remote write.

Обновления безопасности

  • Обновлены зависимости безопасности.

v3.7.5

Дата релиза: 2026-01-23

Улучшения

  • Оптимизированы процессы добавления и обработки данных.

v3.7.4

Дата релиза: 2026-01-12

Улучшения

  • Добавлена возможность разбиения высококардинальных метрик при использовании federation API, что снижает пиковое потребление памяти.

v3.7.2

Дата релиза: 2025-12-08

Улучшения

  • Повышена производительность выполнения правил и обработки запросов.

Исправления

  • Исправлены проблемы стабильности, которые могли приводить к периодическим сбоям.
  • Исправлена обработка пустых лейблов в OTLP Protobuf.

v3.7.0

Дата релиза: 2025-11-05

Улучшения

  • Копирование данных при ротации выполняется в фоновом режиме, что уменьшает влияние ротации на отзывчивость системы.
  • Повышена производительность выполнения запросов и правил.

Исправления

  • Исправлена обработка значений StaleNaN при ротации данных.

v3.6.5

Дата релиза: 2025-10-22

Улучшения

  • Добавлен механизм выгрузки редко используемых серий на диск, позволяющий значительно снизить потребление оперативной памяти на крупных инсталляциях.
  • Снижено потребление памяти при сборе и обработке метрик.

Исправления

  • Исправлена обработка регулярных выражений в матчерах.
  • Повышена устойчивость к повреждённым WAL-файлам и некорректным данным.
  • Исправлена обработка значений StaleNaN для данных, записываемых задним числом.

v3.5.0

Дата релиза: 2025-08-25

Улучшения

  • Выполнено обновление базовой версии Prometheus до 2.55.1.
  • Добавлена поддержка формата хранения данных Prometheus 3.x.

Обновления безопасности

  • Обновлены зависимости и устранены известные уязвимости безопасности.