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

Выпущена VictoriaMetrics 1.155.0

23 октября 2026 года вышла VictoriaMetrics 1.155.0. В выпуске обновлены компоненты сборки, добавлены встроенная проверка здоровья и новые метрики ресурсов, улучшены vmui и vmalert. Важное изменение совместимости касается поиска tenants в кластерной версии и миграции через vmctl.

Важное изменение совместимости

Запросы к /admin/tenants на vmselect без параметров start и end теперь возвращают tenants только за текущий день. Раньше поиск выполнялся за весь диапазон от начала временной шкалы до текущего момента. Новый вариант снижает ненужную нагрузку на vmstorage и риск исчерпания памяти.

Если нужен полный список tenants, необходимо явно задать start и end так, чтобы диапазон охватывал весь период хранения -retentionPeriod.

Это важно и при миграции данных: vmctl обращается к /admin/tenants внутри процесса миграции между установками VictoriaMetrics. Разработчики рекомендуют запускать его с обоими параметрами *-filter-time-start и *-filter-time-end (#11791).

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

  • Версия Go для сборки обновлена с 1.27.2 до 1.27.3.
  • Базовый Docker-образ Alpine обновлён с 3.24.2 до 3.24.3. При этом исходный changelog ссылается на примечания к Alpine 3.24.4 — номер в ссылке отличается от указанной версии образа.

Новые возможности и улучшения

  • Во всех компонентах появился флаг -healthcheck: он проверяет, принимает ли работающий процесс соединения по адресу -httpListenAddr, и возвращает ненулевой код при неудаче. Это позволяет настроить Docker HEALTHCHECK без curl или wget.
  • Все компоненты экспортируют метрики process_cpu_cores_host, process_cpu_cores_cgroup_quota, process_memory_host_bytes и process_memory_cgroup_bytes. Метрики cgroup имеют значение -1, если ограничение не задано или его не удалось прочитать.
  • В vmui редактирование Server URL объявлено устаревшим. При использовании сохранённого пользовательского URL показывается предупреждение, но существующие адреса продолжают работать.
  • В vmui обновлён внешний вид сообщений об ошибках, предупреждений, информационных сообщений и уведомлений об успехе.
  • В таблицы Top Queries и Active Queries добавлен столбец tenant, если эти сведения доступны. Поиск tenants ограничен выбранным временным диапазоном.
  • В vmagent и односерверной VictoriaMetrics флаг -promscrape.maxParseErrorsPerScrape ограничивает число записей об ошибках разбора за один сбор метрик с target. По умолчанию выводится не более 20 ошибок; после сбора сообщается число подавленных записей. Это предотвращает засорение журналов при большом числе некорректных строк.
  • В vmalert восстановлена совместимость восстановления состояния оповещений с Prometheus: его снова можно использовать в -remoteRead.url. Раньше запрос содержал функцию MetricsQL default_rollup(), которую Prometheus не поддерживает, поэтому состояние правил с for > 0 сбрасывалось при каждом перезапуске vmalert.
  • Кластерный vmselect экспортирует vm_request_duration_seconds{path="/admin/tenants"} для измерения времени поиска tenants.
  • На дашборде VictoriaMetrics - cluster фильтр instance применяется к панелям CPU pressure, Memory pressure, IO pressure и Memory allocations rate в разделе Resource usage. Также отображаются нулевые значения скорости дискового ввода-вывода и системных вызовов.
  • В набор alerts-health добавлено правило TooManySnapshots: оно срабатывает, если более двух снимков хранятся не менее двух часов. Такие снимки часто остаются после неудачных запусков vmbackup или vmbackupmanager. Они удерживают ссылки на уже объединённые части данных и мешают освобождать место при фоновых слияниях.

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

  • В vmagent устранено зависание отправки в Kafka после перезагрузки TLS-сертификатов. Ожидающие отправки старого producer теперь повторяются через новый producer, вместо остановки обработки очереди до перезапуска vmagent.
  • В кластерном vminsert предотвращена потеря метаданных метрик после временных тайм-аутов RPC-handshake при подключении к vmstorage.
  • В vmsingle, vmagent и кластерном vminsert исправлена проверка временных рядов, поступающих через /api/v1/import/native.
  • В vmsingle и vmagent снижено потребление памяти при Kubernetes service discovery, если конфигурация сбора содержит много записей, каждая из которых выбирает небольшую долю targets.
  • В vmsingle и кластерном vmstorage предотвращена паника при поисковых запросах.
  • В Kubernetes discovery с role: endpoints и role: endpointslice метка __meta_kubernetes_namespace и метаданные namespace теперь берутся из объекта Endpoints или EndpointSlice, если связанный Pod находится в другом namespace. Раньше использовался namespace Pod, что отличалось от поведения Prometheus.
  • В vmauth при получении JWKS через OIDC discovery пропускаются ключи с неподдерживаемыми kty или crv, отсутствующими обязательными полями либо некорректными значениями, как требует RFC 7517. Раньше один такой ключ приводил к отклонению всех JWT этого издателя, включая подписанные поддерживаемыми ключами.
  • В vmui автоматически рассчитанный шаг запроса больше не сохраняется в ссылках для обмена. При открытии ссылки он рассчитывается заново с учётом временного диапазона и ширины экрана. Явно заданный шаг остаётся фиксированным.

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