odmin@opslog: ~/blog
← cd ..
odmin@opslog:~/blog$ cat victoria-metrics-1-154-0.md

Выпущена VictoriaMetrics 1.154.0

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.