13076 Commits
Author SHA1 Message Date
Fred Navruzov 2639357f27 docs(anomaly-detection): document Online MAD decay (#11831)
Online MAD supports `decay`, but its model-specific arguments and
example omit it, which can make valid configurations look unsupported.

Document the `(0, 1]` range, default `1.0`, adaptation tradeoff and
example setting. Also include Online MAD in the shared decay section’s
model list.

Validation: checked the accepted parameter range/default and existing
section anchor; `git diff --check` passes. Documentation only: one file,
+3 / -1; no runtime changes or full documentation build.
2026-10-28 10:31:07 +02:00
Fred Navruzov 61916650ca docs/anomaly-detection: add practical model selection guide (#11825)
## Motivation

Reduce the learning curve for VictoriaMetrics Anomaly Detection,
especially for engineers without an ML background. Give readers clearer
entry points and a practical path from the behavior of their metrics to
a model, a playground example, and a configuration they can adapt.

## Summary

Add **Choose a model for your metrics**, organized around three
questions: has one metric changed, have related signals changed
together, or is one entity different from its peers?

## Solution

Use concise explanations and illustrations to introduce each comparison,
then provide six expandable recipes covering Online Z-score, Online MAD,
Online Seasonal Quantile, Temporal Envelope, multivariate Temporal
Envelope, and Peer Outlier. Each recipe includes when to use it,
alternatives, a complete reader/model/scheduler example, a reproducible
playground state, expected results, and tuning hints.

## Changes

- Add the guide and three chart illustrations. Include steady CPU,
latency spikes and a level change, seasonal plateaus, evolving traffic,
job mix versus CPU, and an unusual replica among changing peers.
- Compare the multivariate recipe with independent envelopes, CPU per
total job rate, and a known-cost residual rule. Explain when the simpler
rule is enough.
- Link the guide from the main page, Quickstart, FAQ, model overview,
model-type introductions, UI playgrounds, and guides index. Place model
selection before alerting setup.
- Add green tips at the relevant entry points and matching descriptions
in the guides index. Move **Tune a model** after the UI example workflow
and link it from model configuration.
- Render UI availability badges as HTML shortcodes to preserve headings
and anchors in the current Hugo build.

## Validation

- PASS: full local vmdocs build with Hugo 0.166.0, 452 pages.
- PASS: all six recipe schemas, production periodic schedulers, one-fit
historical replays, and shared URL settings.
- PASS: deterministic public query/API checks. The new three-channel
recipe flags 5/6 incident observations with no healthy flags. Standard
independent envelopes and CPU/total-job rate flag none. The known-cost
residual flags 6/6, as documented.
- PASS: public UI restoration and execution for the new multivariate
recipe and ratio baseline. Desktop and 390-pixel mobile rendering
checked.
- PASS: 44 guide destinations/anchors, all six incoming page links, and
whitespace checks. The focused native Linkinator crawl of the new guide
also passes, including image and fragment checks.
- Full-site Linkinator crawl: 14 findings across 11 URLs outside the
guide's outgoing links, including existing Helm/operator assets,
local-service example URLs, and a malformed changelog URL. These are
separate from the passing guide link check.
- Backend/frontend runtime suites were not run because this PR changes
documentation only.

## Diff size

Full PR against VictoriaMetrics master at
`3fec2f72414d00d1acda807c8818d7af90cc966d`.

| Area | Core | Else/tests |
| --- | --- | --- |
| Backend | +0 / -0 | +0 / -0 |
| Frontend | +0 / -0 | +0 / -0 |
| Repository else | +0 / -0 | +1064 / -52 |
| Total | +0 / -0 | +1064 / -52 |

Net text change: +1012 lines across nine Markdown files. Three WebP
assets total 179,236 bytes.

## Changelog

[external] Documentation only. No runtime behavior or release changelog
change.

## Caveats

Playground examples use fixed historical dates and require network
access. Their results illustrate the selected data and settings rather
than guaranteeing detection quality for other workloads.
2026-10-27 19:23:48 +02:00
Max Kotliar 3d0bb00cb7 docs/changelog: mention release where the update note issue fixed 2026-10-26 17:49:48 +02:00
Max Kotliar ea5ddbd209 docs: update flags with actual v1.155.0 binaries
Signed-off-by: Max Kotliar <mkotlyar@victoriametrics.com>
2026-10-26 15:44:35 +02:00
Max Kotliar c5d3fbd79e docs: bump version to v1.155.0
Signed-off-by: Max Kotliar <mkotlyar@victoriametrics.com>
2026-10-26 15:41:48 +02:00
Max Kotliar 464bcbe56f deplyoment/docker: bump version to v1.155.0
Signed-off-by: Max Kotliar <mkotlyar@victoriametrics.com>
2026-10-26 15:40:50 +02:00
Max Kotliar 8d60d4aff7 docs: forward port LTS v1.136.22 changelog to upstream
Signed-off-by: Max Kotliar <mkotlyar@victoriametrics.com>
2026-10-26 14:04:48 +02:00
Max Kotliar f4eccbaf2f docs: forward port LTS v1.148.8 changelog to upstream
Signed-off-by: Max Kotliar <mkotlyar@victoriametrics.com>
2026-10-26 14:04:18 +02:00
Max Kotliar 3fec2f7241 docs/changelog: cut release v1.155.0
Signed-off-by: Max Kotliar <mkotlyar@victoriametrics.com>
v1.155.0
2026-10-23 18:48:14 +03:00
Max Kotliar 62873dc0b5 docs: update version to v1.155.0
Signed-off-by: Max Kotliar <mkotlyar@victoriametrics.com>
2026-10-23 18:47:48 +03:00
Max Kotliar 17b1722f6b app/vmselect: run make vmui-update
Signed-off-by: Max Kotliar <mkotlyar@victoriametrics.com>
2026-10-23 18:43:13 +03:00
Max Kotliar d274a9dd6e deployment: upgrade base image (Alpine) to 3.24.3 2026-10-23 17:38:38 +03:00
JAYICEandcubic-dev-ai[bot] 44e95f23ca add update note for v1.138.0 and v1.136.2 about the potential failure on vmbackup when using 3rd s3 service (#11806)
Follow up on https://github.com/VictoriaMetrics/VictoriaMetrics/issues/11562

---------

Signed-off-by: “Jayice” <jzhou@victoriametrics.com>
Signed-off-by: JAYICE <jayice.zhou@qq.com>
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2026-10-23 17:19:24 +03:00
Max Kotliar 9ea89d3ab1 docs/changelog: tidy changelog a bit before release 2026-10-23 17:16:04 +03:00
Max Kotliar 0dfac1b414 docs/changelog: add update note for -search.skipSlowReplicas related issue
See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/11771
2026-10-23 17:09:11 +03:00
Max Kotliar b267c4f4a6 docs/changelog: add update note for queries with long time range
See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/11791
2026-10-23 17:09:11 +03:00
Artem FetishevandMax Kotliar 300a590464 lib/storage: limit per-day search concurrency in indexDB (#11787)
With per-day index now being searched concurrently it is easy to spawn a
lot of goroutines if the search time range and retention period is big
enough.

This commit limits the number of concurrent per-day searches to 10xCPU
across all search API surface as well as across all instances of
indexDBs.

Fixes https://github.com/VictoriaMetrics/VictoriaMetrics/issues/11791

Follow up for:

- https://github.com/VictoriaMetrics/VictoriaMetrics/pull/11576
- https://github.com/VictoriaMetrics/VictoriaMetrics/pull/11697
- https://github.com/VictoriaMetrics/VictoriaMetrics/pull/11757

---------

Signed-off-by: Artem Fetishev <rtm@victoriametrics.com>
Signed-off-by: Artem Fetishev <149964189+rtm0@users.noreply.github.com>
Co-authored-by: Max Kotliar <mkotlyar@victoriametrics.com>
2026-10-23 15:34:34 +02:00
Sergey Kacheev 66003a3970 lib/handshake: avoid legacy fallback on handshake timeout
Previously any transient handshake error timeout can force vminsert into legacy mode,
which drops metric metadata.

 This commit binds check only to the first handshake request part and io.EOF error.

Fixes https://github.com/VictoriaMetrics/VictoriaMetrics/pull/11762
2026-10-23 11:54:22 +02:00
Artem Fetishevandcubic-dev-ai[bot] 7b9326663d app/vmselect: fix the default time range for /admin/tenants (#11802)
Previously, the default time range was [0, now]. Such time range would
trigger the search across all indexDBs and all days within each indexDB
and resulted in an unnecessary load on a storage that at times lead to
OOMs.

The default time range is now changed to the current day and if a client
wants list of tenants for a specific date range the client is now
expected to specify that time range excplicitly.

Fixes https://github.com/VictoriaMetrics/VictoriaMetrics/issues/11791

---------

Signed-off-by: Artem Fetishev <rtm@victoriametrics.com>
Signed-off-by: Artem Fetishev <149964189+rtm0@users.noreply.github.com>
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2026-10-22 19:14:59 +02:00
Nikolay 9d13fae1cb lib/storage: prevent cached metricIDs from concurrent mutation
After ae97c11a77 added at
https://github.com/VictoriaMetrics/VictoriaMetrics/pull/11466
LabelNames and LabelValues search request started to obtain metricIDs
directly from tag filters cache. Previous those methods received a copy
of uint64Set. After this change direct cache items. Since LabelNames
retries uint64Set items with AppendTo, which may modify cached object.
It could result into runtime panic.

 This commit uses uint64set.Set directly and iterates over each element.

 In addition, use Union instead of UnionMayOwn for DeleteSeries
 requests. Because it also could mutate cached items.

Fixes https://github.com/VictoriaMetrics/VictoriaMetrics/issues/11788
2026-10-22 17:57:51 +02:00
Phuong Le b3de77e8e2 lib/httpserver: add -healthcheck flag
Scratch Docker images don't have `curl` or `wget`, so users can't set up
Docker `HEALTHCHECK` easily. This commit adds `-healthcheck` flag. 

When it is set, the binary performs connection check for the running process on
localhost ( or defined listen address) and exits:
- 0 if target port accepted connection at one of `-httpListenAddr`
- 1 otherwise, with the error in the log

Example:

```yaml
healthcheck:
  test: ["CMD", "/victoria-metrics-prod", "-healthcheck"]
```


Related issue:
https://github.com/VictoriaMetrics/VictoriaLogs/issues/1565
2026-10-22 17:38:17 +02:00
Hui Wang c62cea7267 vmalert: restore Prometheus compatibility for alerts state restoration as -remoteRead.url (#11799)
Prometheus doesn't support the previous `default_rollup()` function and
rejects the restore requests during vmalert restarts.

 This commit restores compatibility with Prometheus by quering plain `ALERTS_FOR_STATE{...}` and set `lookback_delta`, `max_lookback` to `-remoteRead.lookback`. Also it sets `step` because VM
uses `step` as the lookback window and `max_lookback` as its default and
cap.

fixes https://github.com/VictoriaMetrics/VictoriaMetrics/issues/11574
2026-10-22 17:32:44 +02:00
Cestercian 6569835e5a lib/promscrape/discovery/kubernetes: use the Endpoints namespace for pods from other namespaces
For kubernetes discovery if `role: endpoints` or `role: endpointslice` is set. When an endpoint's
targetRef points to a pod in a different namespace, the common pod
labels were incorrectly added after the endpoint labels and
`__meta_kubernetes_namespace` ended up as the pod's namespace instead of
the Endpoints/EndpointSlice one.

 This commit preserves original `Endpoint` and `EndpointSlice` namespace name and namespace labels as Prometheus does.

Fixes https://github.com/VictoriaMetrics/VictoriaMetrics/issues/11798
2026-10-22 17:25:12 +02:00
Yury MoladauandMax Kotliar 933d36e783 app/vmui: limit tenant discovery to the selected time range (#11796)
### Describe Your Changes

- Limit tenant discovery to the selected time range.
- Use the selected day for tenant discovery on Cardinality.
- Add a time range selector to Top Queries.
- Load tenants when opening the selector.

Fixes https://github.com/VictoriaMetrics/VictoriaMetrics/issues/11784
PR https://github.com/VictoriaMetrics/VictoriaMetrics/pull/11796

---------

Signed-off-by: Yury Molodov <yurymolodov@gmail.com>
Co-authored-by: Max Kotliar <mkotlyar@victoriametrics.com>
2026-10-21 14:23:59 +03:00
Yury MoladauandMax Kotliar 29edcf7c15 app/vmui: preserve automatic query step in shared URLs (#11716)
### Describe Your Changes

Centralize step calculation across vmui. Automatic step is no longer
saved in the URL, allowing it to adjust to the time range and display
mode. Manual overrides remain in the URL, and the header, queries, and
graphs use the same step.

Related issue: https://github.com/VictoriaMetrics/VictoriaMetrics/issues/11638
PR https://github.com/VictoriaMetrics/VictoriaMetrics/pull/11716


---------

Signed-off-by: Yury Molodov <yurymolodov@gmail.com>
Co-authored-by: Max Kotliar <mkotlyar@victoriametrics.com>
2026-10-21 14:05:38 +03:00
Jérémy JourdanandMax Kotliar cb6b5a99da docs/victoriametrics: add dashboards showcasing (#11702)
## Description

- Really short addition to the docs, might want to adapt the styling to
your preferences
- Derived playground link from links above, might not be desirable, LMK

## Background

I used to deploy Grafana for dashboarding, felt a bit cluttered for me.
Moreover,
[grafana-operator](https://github.com/grafana/grafana-operator) JSON
semantics for Grafana are heavy (yet powerful).

However, VMUI's dashboards are a perfect fit for my use case.

I spent a lot of time in Victoria's docs (very good quality BTW), but
didn't see mention of the dashboarding capabilities.
Having things like #11274 and configuration of default for `Table View`
& `Hide Common Labels` would be great (variables templating would be
even greater but more complicated) additions.

I truly think dashboard capabilities showcasing could be beneficial for
many people, as it is natively available, really easy to use (e.g. a
`ConfigMap` mounted via `vmselect.configMaps` for `VMCluster`), and
powerful enough for cases that do not need (maybe more like _"that do
not feel like needing"_) extensive features like ultra-customizable
graphs, ML, AI, ... I really appreciate the simplicity of it.

VictoriaTraces' recent UI upgrade for trace viewing is also awesome.
Thanks for building such a great product!

---------

Co-authored-by: Max Kotliar <mkotlyar@victoriametrics.com>
2026-10-21 13:59:59 +03:00
Max Kotliar df2df3b6d7 deployment/docker/rules: add TooManySnapshots alerting rule for multiple snapshots
Fixes https://github.com/VictoriaMetrics/VictoriaMetrics/issues/9344 by
adding a TooManySnapshots alert that tracks if more than 2 snapshots
exist during last 2 hours. This is supposed to supplement automated
snapshotMaxAge. This will notify users of issues with automated backup
processes like vmbackupmanager leaving behind snapshots before days of
snapshots have built up.

PR https://github.com/VictoriaMetrics/VictoriaMetrics/pull/11747
2026-10-21 13:45:52 +03:00
Kirill YurkovandMax Kotliar cc6606c15e dashboards: fix cluster resource filters (#11742)
1. The instance filter was inconsistent across the panels. Pressure and
memory allocation panels now use the instance filter the same as the
others.
2. Disk I/O and syscall panels showed no data instead of a zero value.
This could lead to the wrong decision that metrics are unavailable.

Checked single, multiple and All instance selections, zero values and
missing metrics. Synced the VM copy.

---------

Co-authored-by: Max Kotliar <mkotlyar@victoriametrics.com>
2026-10-21 13:24:49 +03:00
Zakhar Bessarab 52ea4a2058 lib/jwt/jwks: skip unsupported keys instead of dropping all discovered items
As per [RFC 7517](https://www.rfc-editor.org/info/rfc7517/#section-5):
implementations should ignore JWKs within a set that use unsupported key
types.
Update JWKs parsing logic to skip unsupported keys instead of returning
an error to allow parsing to proceed successfully and allow using
supported keys.

Fixes https://github.com/VictoriaMetrics/VictoriaMetrics/issues/11748
2026-10-21 10:40:33 +02:00
Roman Khavronenko 4d3be0a78b app/vmselect/prometheus: add vm_request_duration_seconds{path="/admin/tenants"}
Adds `vm_request_duration_seconds{path="/admin/tenants"}` for tracking
the time it takes to fetch tenant IDs from the database. With the switch
from global to per-day index this call can become slower than before.

Related PR https://github.com/VictoriaMetrics/VictoriaMetrics/pull/11785
2026-10-21 10:27:06 +02:00
Roman Khavronenko 118ccd1af8 docs: add a note about joining the team (#11793)
The note adds info encouraging contributors or engineers that share the
same development goals to join the team.

---

Logs: https://github.com/VictoriaMetrics/VictoriaLogs/pull/1890
Traces: https://github.com/VictoriaMetrics/VictoriaTraces/pull/294
2026-10-21 10:11:33 +02:00
f41gh7 9e09ac1b3d deployment/docker: update Go builder from Go1.27.2 to Go1.27.3
See https://github.com/golang/go/issues?q=milestone%3AGo1.27.3%20label%3ACherryPickApproved
2026-10-21 10:00:26 +02:00
Max Kotliar 924300436c docs/changelog: add update note for /admin/tenants issue
Related to
https://github.com/VictoriaMetrics/VictoriaMetrics/issues/11791
2026-10-20 13:21:53 +03:00
Max Kotliar 9fcb7bf5bb docs: update flags with actual v1.154.1 binaries
Signed-off-by: Max Kotliar <mkotlyar@victoriametrics.com>
2026-10-20 11:02:12 +03:00
Max Kotliar 0515f0cd8a docs: bump version to v1.154.1
Signed-off-by: Max Kotliar <mkotlyar@victoriametrics.com>
2026-10-20 10:50:49 +03:00
Max Kotliar 5614d0ed03 deplyoment/docker: bump version to v1.154.1
Signed-off-by: Max Kotliar <mkotlyar@victoriametrics.com>
2026-10-20 10:49:55 +03:00
Max Kotliar 719678db80 docs: forward port LTS v1.136.21 changelog to upstream
Signed-off-by: Max Kotliar <mkotlyar@victoriametrics.com>
2026-10-20 10:31:25 +03:00
Max Kotliar e89b0a7830 docs: forward port LTS v1.148.7 changelog to upstream
Signed-off-by: Max Kotliar <mkotlyar@victoriametrics.com>
2026-10-20 10:30:26 +03:00
Max Kotliar b7583b6312 merge hotfix v1.154.1 branch 2026-10-19 16:54:35 +03:00
Max Kotliar c4671fae49 app/vmauth: do not slow down requests if no users are configured
The brute-force protection delays requests with invalid auth tokens by
2-3 seconds. Since v1.154.0 this also applies to requests proxied to
`unauthorized_user`. Introduced in
https://github.com/VictoriaMetrics/VictoriaMetrics/pull/11680.

This breaks setups with two chained vmauth instances, where the first
one authenticates requests via `users` and the second one proxies them
via `unauthorized_user` (e.g. VMDistributed or VMCluster managed by the
operator). The second vmauth receives the forwarded `Authorization`
header, treats it as an invalid auth token and delays every request.

Skip the slowdown if no `users` are configured, since there is nothing
to brute-force in this case.

Fixes https://github.com/VictoriaMetrics/VictoriaMetrics/issues/11774
Fixes https://github.com/VictoriaMetrics/VictoriaMetrics/pull/11777

---

It would also be good to patch chained vmauth in  `VMDistributed`,
`VMCluster` and the like so they stop proxying auth headers. That's
what's recommended in [vmauth security
guides](https://docs.victoriametrics.com/victoriametrics/vmauth/#security)
(see p6)

cc @Haleygo @vrutkovs
2026-10-19 13:20:49 +03:00
Artem Fetishev e86e3d1cd0 lib/storage: adjust legacy indexDB max timestamp (#11752)
Previously the tr was [0, MaxInt64] to indicate that the legacy indexDB
may contain any non-negative timestamp.

But the the time range can be narrowed down to [0, now+2d]. Say a
deployment that uses legacy indexDB (versions before v1.133.0). Then it
is restarted to with a version >= v1.133.0. It now uses partition
indexDBs and legacy indexDBs become read-only. Meaning that legacy
indexDBs now contain entries up until the day of restart. The day of
switching to partition indexDB is not recorded anywhere so the best we
can do is just use the day of the last restart. Also adding 2d because
vmstorage accepted timestamps with max 2d in the future to account for
time zone shifts.

The support of future timestamps (-futureRetention) was added after
v1.133.0 so it is guaranteed that versions that write to legacy indexDBs
(< v1.133.0) do not support them.

Extracted from https://github.com/VictoriaMetrics/VictoriaMetrics/pull/11196

---------

Signed-off-by: Artem Fetishev <rtm@victoriametrics.com>
2026-10-19 07:42:28 +02:00
jxjandMax Kotliar 90b89d5806 docs/victoriametrics: add missing data recovery guide (#11626)
Adds a standalone guide for recovering data missing from one
VictoriaMetrics installation but still available in another. It explains
`vmagent`'s role in Multi-Cluster and Multi-AZ deployments, checks for
drops before recommending recovery, and selects a widened recovery
window from queue history.

Includes an all-tenant cluster example using `--vm-intercluster`, a
separate single-node example, and exact `1ms` deduplication guidance.
The cluster page links to the guide.

Validation: both examples pass `bash -n`, and the flags and metrics were
checked against current help and source. Local checks with real `vmctl`
and four single-node VictoriaMetrics processes verified recovery and
overlap deduplication. An HTTP routing harness verified that both tenant
IDs were preserved; a full cluster E2E was not run.

Fixes https://github.com/VictoriaMetrics/VictoriaMetrics/issues/9854.
PR https://github.com/VictoriaMetrics/VictoriaMetrics/pull/11626

---------

Signed-off-by: Max Kotliar <kotlyar.maksim@gmail.com>
Co-authored-by: Max Kotliar <mkotlyar@victoriametrics.com>
2026-10-16 17:26:58 +03:00
Vandit Singh 9b1f521f8b docs/victoriametrics: fix the quick start scrape steps and the cluster login (#11706)
the quick start CPU graph stays empty for ~100s, because `scrape.yaml`
has no `scrape_interval` so node_exporter is scraped once a minute, and
`rate()` needs two samples. this sets `scrape_interval: 10s` to match
`-selfScrapeInterval`, which brought it down to 43s on my machine.

the cluster section also gets the `foo:bar` vmauth login (vmui returns
401 without it), the current container list, and a fixed link to the
single-node monitoring page.
2026-10-16 17:11:34 +03:00
Max Kotliar 5c853f82c5 dashboards: adjust concurrent inserts panel description based on review comments
Follow-up on
https://github.com/VictoriaMetrics/VictoriaMetrics/commit/73eb46cc9b7b363752ddb3b5fc213ea13780dd40

Review comments:
-
https://github.com/VictoriaMetrics/VictoriaMetrics/pull/11755#discussion_r4270639350
-
https://github.com/VictoriaMetrics/VictoriaMetrics/pull/11755#discussion_r4270701299
2026-10-16 16:21:33 +03:00
Max Kotliar d144181a8c lib/promscrape: limit the number of logged parse errors per scrape
Previously, a target exposing many malformed lines (e.g. an HTML page)
logged an error for every line on every scrape, flooding the error log.

Add `-promscrape.maxParseErrorsPerScrape` command-line flag (20 by
default). Parse errors beyond the limit aren't logged; instead, a single
summary line with the number of suppressed errors and the target URL,
job and labels is logged after the scrape. Zero or negative value
disables the limit. It respects `-promscrape.suppressScrapeErrors`.

See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/8856
PR https://github.com/VictoriaMetrics/VictoriaMetrics/pull/11727

Note: Prometheus stops parsing at the first error, discards the whole
scrape and sets `up=0`. It logs at most one parse error per scrape.
vmagent skips malformed lines, ingests the valid ones and keeps `up=1`,
so it can log many errors per scrape.
2026-10-16 15:42:30 +03:00
Kirill Yurkovandhagen1778 3af91e04c8 docs/guide: remove hyperscale from VictoriaMetrics topologies guide (#11653)
This PR removes the sharded hyperscale path [to satisfy the
comment](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/10201#discussion_r2690467397).
Each storage cell receives a full copy of the data, and the guide
compares two read paths for this setup. Also addressed several issues
with unclear configurations and explanations. I removed one more path
with stateless vmagent because it was odd and impractical.

---------

Co-authored-by: hagen1778 <roman@victoriametrics.com>
2026-10-16 15:11:32 +03:00
Artem Fetishev b0db9444c5 lib/storage: move tr adjustment to indexDB (#11757)
indexDB is now responsible for checking whether it might contain data
for the given search time range.

Previously this was done by Storage. I.e. it was adjusting the search
time range for every indexDB it was searching. This approach worked,
but indexDBs didn't know what time range they were accepting. One could
potentially pass any arbitrary time range to any indexDB and it would
search that time range. Such mistakes can never be caused by user input
but it still good to move this responsibility to indexDB to make it more
self-sufficient and independent from Storage and decrease the role of
special globalIndexTimeRange.

This change needs to be done before https://github.com/VictoriaMetrics/VictoriaMetrics/pull/11752.

---------

Signed-off-by: Artem Fetishev <rtm@victoriametrics.com>
2026-10-15 20:01:11 +02:00
Fred Navruzov a44ad3e477 docs: update vmanomaly documentation for v1.31.1 (#11770)
## Motivation

Document vmanomaly v1.31.1 and use the patch release in current
deployment examples.

## Summary

Add the backend changelog entry for periodic peer-model data fetching,
update current standard/DHI image references, and document
upgrade/rollback state compatibility.

## Changes

- `docs/anomaly-detection/CHANGELOG.md`: v1.31.1 periodic peer-model
data-fetch fix.
- `docs/anomaly-detection/Migration.md`: v1.31.0 → v1.31.1 compatibility
and rollback limitation.
- `docs/anomaly-detection/QuickStart.md`: standard and DHI image
examples.
- `docs/anomaly-detection/UI.md`: current Docker example and recommended
backend version (v1.31.1 or newer). No new UI release entry or UI
feature changes.
- `docs/anomaly-detection/components/models.md`: custom-model Docker
examples.
- `docs/anomaly-detection/guides/guide-vmanomaly-vmalert/README.md`:
deployment image.
- `deployment/docker/vmanomaly/vmanomaly-integration/compose.yml`:
integration image.

Historical feature-introduction versions and existing changelog entries
are preserved. No routine dependency-update notes are added.

## Validation

- `git diff --check`: passed.
- Integration Compose YAML parses successfully.
- Automated comparison confirms the existing UI release notes are
unchanged apart from the recommended backend version and its
explanation.
- Upgrade/rollback notes match the release compatibility graph.
- Full documentation site build not run; edits are Markdown text and
image tags.

## Diff size

Against VictoriaMetrics master `9f983ffe6`: seven files, +21/-14, net
+7. Backend/frontend implementation and tests: +0/-0. Repository
documentation/configuration: +21/-14.

## Publication

Draft for review. Confirm v1.31.1 image publication before merging.
2026-10-15 09:32:11 -07:00
Nikolay 9f983ffe6a app/vmagent/kafka: correctly retry sendBlock on certificates reload
Previously, sendBlock could block forever if kafka broker changed
certificates and was not able to reply with error.

This commit adds a check, if current version of producer was stopped and client must be re-created with new certificates.

Fixes https://github.com/VictoriaMetrics/VictoriaMetrics/issues/11737
2026-10-15 16:20:43 +02:00
Camber Huang 7f01113c2c lib/promscrape/discovery/kubernetes: reduce memory usage
Previously, Kubernetes service-discovery created aggregated map for scrape objects and deleted entries from it
with empty scrape objects. Resulted map was assinged to api watcher. Since item deletion from map doesn't actually free memory allocated for it, it only removed objects. A lot of memory was used for map with a single element.
 
This commit reduce memory usage footprint by adding items to the map only when it's needed. It significantly dropped memory usage for large Kubernetes clusters with `VictoriaMetrics` and `Prometheus` operator installations.

Fixes https://github.com/VictoriaMetrics/VictoriaMetrics/pull/11751/
2026-10-15 15:42:35 +02:00