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

Выпущена VictoriaMetrics 1.151.0

Выпущена VictoriaMetrics 1.151.0

28 августа 2026 года вышла VictoriaMetrics 1.151.0. В выпуске исправлены проблемы безопасности и ошибки, добавлены поддержка Unix-сокетов, новые метрики и улучшения интерфейса.

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

  • В vmsingle, vmagent, а также в vminsert и vmselect кластерной версии исправлена проверка учётных данных HTTP Basic Auth, заданных параметрами -httpAuth.*, для случаев, когда соответствующий параметр *AuthKey не проверяется отдельно. Ранее аутентификация могла пропускаться для путей с окончаниями /config и /reload. Например, запрос к /api/v1/import/prometheus/config попадал в обработчик приёма данных /api/v1/import/prometheus без проверки учётных данных -httpAuth.*.

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

  • Во всех компонентах VictoriaMetrics добавлена поддержка приёма HTTP-запросов через Unix-сокеты с помощью параметра -httpListenAddr. Пример: -httpListenAddr=unix:/run/victoria-metrics.sock.
  • В vmagent, vmsingle, а также в vmstorage и vmselect кластерной версии добавлена метрика типа gauge vm_app_prev_shutdown_unclean. Она принимает значение 1, если предыдущий запуск процесса завершился некорректно. Новое правило оповещения UncleanShutdown срабатывает на 10 минут после обнаружения такого завершения.
  • В vmui рядом с элементами выбора даты и времени теперь отображается смещение выбранного часового пояса относительно UTC. Оттуда же можно открыть настройки часового пояса.
  • В vmsingle, vmagent, vmalert и кластерном vmselect справка по параметрам командной строки теперь показывает, как рассчитываются значения по умолчанию, зависящие от числа доступных ядер процессора. Например, для -maxConcurrentInserts вывод -help содержит (default 16 = 2*cgroup.AvailableCPUs()) вместо (default 16). Также обновлены описания параметров -search.maxConcurrentRequests, -search.maxWorkersPerQuery, -fs.maxConcurrency, -remoteWrite.concurrency и -remoteWrite.queues. Изменение подготовил @Vandit1604.
  • В интеграцию vmagent с Kafka добавлены метрики vmagent_kafka_consumer_broker_rtt_seconds и vmagent_kafka_consumer_fetch_queue_size, помогающие диагностировать медленное чтение данных из Kafka.

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

  • Исправлены правила оповещения AlertingRuleResultsApproachingLimit и RecordingRuleResultsApproachingLimit для vmalert. Они могли выдавать неверные результаты или не срабатывать, если метрика vmalert_group_rule_results_limit возвращала несколько значений для одной комбинации меток (group, file), из-за чего нарушалось сопоставление векторов on(group,file) group_left().
  • В vmagent и кластерном vminsert устранён бесконечный цикл в обработчике приёма данных OpenTelemetry Firehose (/opentelemetry/api/v1/push) при получении некорректной записи с незавершённым значением varint в поле данных. Ранее такая запись заставляла горутину бесконечно выполняться и потреблять процессорное время до перезапуска процесса.
  • В vmalert-tool соединения с -remoteWrite.url теперь используются повторно при записи результатов правил записи и оповещений. Ранее каждый временной ряд отправлялся через новое соединение, из-за чего множество сокетов оставалось в состоянии TIME_WAIT и мог исчерпаться диапазон временных портов. Число простаивающих соединений можно настроить новым параметром -remoteWrite.maxIdleConnections. Изменение подготовил @evkuzin.
  • В vmsingle и кластерном vmselect предотвращено аварийное завершение процесса в функциях sort_by_label_numeric() и sort_by_label_numeric_desc(), когда значение метки содержит число из 309 и более цифр.
  • В vmsingle и кластерном vmstorage исправлена редкая ошибка, при которой поиск метаданных метрик возвращал неполный ответ.
  • В vmctl исправлено повторное использование соединений в режиме vm-native, когда --vm-concurrency больше 2. Ранее число простаивающих соединений ограничивалось двумя на хост, чего было недостаточно при более высокой степени параллелизма.
  • В vmsingle и кластерном vmselect исправлено повторное использование памяти при ошибке агрегации в запросе.
  • Кластерный vmselect теперь сразу завершает запрос с ошибкой, если для хранения временных результатов поиска недостаточно места на диске. Ранее такие запросы могли приводить к аварийному завершению vmselect.
  • В кластерном vmselect исправлено повторное использование памяти при распаковке блоков хранилища, если возникает ошибка разбора блока.
  • В vmalert исправлен разбор временных меток значений из мгновенных запросов к источникам данных, совместимым с Prometheus. Ранее значения с дробной частью, например 1786458420.123, или в научной записи, например 1.78645842E9, без предупреждения превращались в 0. Изменение подготовил @missusk.
  • В vmctl исправлено освобождение ресурсов запросов экспорта и импорта при ошибках миграции в режиме vm-native. Ранее неудачные запросы могли оставаться зависшими на стороне источника или получателя. Исправление должно повысить устойчивость длительных миграций.
  • В vmagent метки vm_account_id и vm_project_id теперь учитываются при идентификации экземпляра в фильтрации обмена данными мониторинга. Ранее при включённых обработчиках для нескольких арендаторов ряды разных арендаторов с одинаковыми метками job и instance могли ошибочно определяться как данные обнаруженного экземпляра VictoriaMetrics и попадать в получатель, настроенный через -remoteWrite.mdx.enable.
  • В vmsingle, кластерном vminsert и vmagent исправлено аварийное завершение процесса при получении специально сформированного запроса размером около 45 байт на /api/v1/import/native.
  • В vmsingle, vmagent и кластерном vmstorage разрешён доступ к /remotewrite-relabel-config, /api/v1/status/remotewrite-relabel-config, /remotewrite-url-relabel-config, /api/v1/status/remotewrite-url-relabel-config и /internal/log_new_series только с соответствующим ключом -configAuthKey или -logNewSeriesAuthKey. Даже если настроены параметры -httpAuth.*, дополнительно передавать учётные данные HTTP Basic Auth больше не требуется.

Источник: заметки о выпуске VictoriaMetrics 1.151.0.