9 октября 2026 года вышла VictoriaMetrics 1.154.0. В выпуске устранены уязвимости в vmauth и vmui, расширены возможности OIDC SSO и совместимость с InfluxDB, а также исправлены ошибки в запросах, оповещениях, потоковой агрегации и других компонентах.
Исправления безопасности
- Версия Go для сборки обновлена с 1.27.1 до 1.27.2, в которой устранён ряд уязвимостей.
vmauthтеперь замедляет запросы с некорректными токенами аутентификации, даже если дляunauthorized_userнастроены URL. Раньше такие запросы без задержки передавалисьunauthorized_user, что позволяло перебирать токены.- В
vmuiустранена межсайтовая атака (XSS) на страницах отладки relabeling метрик, анализатора запросов и дашбордов.
Новые возможности
- В
vmagent, кластерныйvminsertи односерверную VictoriaMetrics добавлен endpoint/influx/ping, возвращающий HTTP-заголовокX-Influxdb-Version. Некоторые клиенты InfluxDB, например плагин InfluxDB для Jenkins, получают версию сервера через этот endpoint. - В настройках SSO для
vmauthпоявился параметрoidc.auth_params. Он позволяет передавать дополнительные параметры запроса при аутентификации у Identity Provider. Например, параметрhdограничивает выбор учётных записей Google одним доменом, а совместное использованиеmatch_claimsпозволяет обеспечить соблюдение этого ограничения. vmsingleи кластерныйvmstorageтеперь прерывают обработку входящих запросов при отключении клиента и во время корректного завершения работы.vmsingleи кластерныйvmselectтеперь отменяют запросы на выборку данных при отключении клиента.
Исправления ошибок
- Во всех компонентах VictoriaMetrics исправлена настройка активных проб TCP keep-alive.
- Исправлено сопоставление регулярных выражений, которые начинаются с альтернативы или класса символов и продолжаются конструкцией вида
.*foo.*либо.+foo.+, например(a|b).*foo.*. Раньше начальная часть игнорировалась в регулярных выражениях relabeling,if-фильтрах и фильтрах потоковой агрегации, поэтому правила охватывали больше временных рядов, чем ожидалось. - В кластерных правилах оповещений исправлены результаты
TooHighChurnRateиTooHighSlowInsertsRate. Из-за неверных выражений эти правила не срабатывали начиная с версии 1.108.0, а с версии 1.153.0 могли выдавать ложные срабатывания. - При включённом параметре
enable_windows: trueпотоковая агрегация теперь корректно добавляет временные ряды для функцийincrease,increase_prometheus,totalиtotal_prometheus. - Если обновлённый файл настроек уведомлений не удаётся применить, например из-за временной ошибки service discovery,
vmalertпродолжает использовать ранее настроенные уведомители и повторяет попытку при следующей перезагрузке. Раньше старые уведомители останавливались до запуска новых, поэтому после неудачной перезагрузки часть или все уведомления могли незаметно перестать доставляться до следующего изменения файла либо перезапускаvmalert. vmalertтеперь копирует метки оповещения перед применениемalert_relabel_configsиз файла настроек уведомителей. Это не позволяет разным экземплярам Alertmanager влиять на метки друг друга.vmagentиvmalertпри использовании префиксаsrv+в URL теперь записывают в HTTP-заголовокHostнайденный через DNS SRV целевой адрес вместо имени SRV. Раньше запросы могли завершаться ошибкой на reverse proxy и балансировщиках нагрузки, маршрутизирующих трафик по этому заголовку.- В
vmauthустранена редкая порча данных при повторной отправке HTTP-запросов. - В
vmauthисправлена вызванная состоянием гонки ошибка входа через SSO с сообщениемInvalid state parameter. Она возникала, когда несколько одновременных неаутентифицированных запросов устанавливали собственные cookie CSRF. - При JWT-аутентификации
vmauthтеперь возвращает ошибку400 Bad Requestоб отсутствующем маршруте, если запрошенный путь не соответствует ни одномуurl_map. Раньше выводилось вводящее в заблуждение сообщение об отсутствии заголовкаAuthorization. - В
vmbackupиvmbackupmanagerдобавлен параметр командной строки-s3SkipTaggingDirectiveдля совместимых с S3 хранилищ, которые отклоняют заголовкиx-amz-tagging-directiveиx-amz-tagging. - Кластерный
vmselectтеперь добавляет отсутствовавшие поляaccountID,projectIDиmultiTenantв результатыtopByAvgMemoryUsageпо адресу/api/v1/status/top_queries. - В кластерном
vmselectустранена редкая утечка ресурсов при включённом параметре-search.skipSlowReplicas. vmsingleи кластерныйvmselectтеперь корректно выполняют запросы сgroup_left(...)иgroup_right(...), когда результат объединения затем сочетается с другим селектором.- В
vmsingleи кластерномvmstorageпредотвращено возможное аварийное завершение с сообщениемcannot decompress zstd dataв сборках дляdarwin,windows,freebsd,openbsd,linux/arm,linux/ppc64le,linux/386,linux/s390xи сборках-pure. Сборки дляlinux/amd64иlinux/arm64не были затронуты. vmsingleтеперь корректно применяет параметр-streamAggr.enableWindowsк правилам потоковой агрегации. Раньше он игнорировался правилами из-streamAggr.configи учитывался только при проверке настроек через-dryRun, а также при отдельной дедупликации, настроенной параметром-streamAggr.dedupInterval.vmsingleи кластерныйvmstorageтеперь корректно освобождают память после загрузки исторических данных. Раньше до перезапуска хранилище удерживало по8 MiB × CPUпамяти для каждого месяца, за который были загружены данные.- В
vmuiзапрещено переопределять параметрыserverUrl,tenantId,themeиisDarkThemeчерез строку запроса.
Источник: заметки о выпуске VictoriaMetrics 1.154.0.