Commit Graph

6321 Commits

Author SHA1 Message Date
Aliaksandr Valialkin
5b8095a30a
lib/promscrape: disable support for service discovery and metrics scrape via http2
Reasons for disabling http2:

- http2 is used very rarely comparing to http for Prometheus metrics exposition and service discovery
- http2 is much harder to debug than http
- http2 has very bad security record because of its complexity - see https://portswigger.net/research/http2

VictoriaMetrics components are compiled with nethttpomithttp2 tag because of these issues.

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4283
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4274

This is a follow-up for 72c3cd47eb
2023-07-06 16:04:31 -07:00
Aliaksandr Valialkin
dff199a745
app/vmselect/graphite: follow-up after c7884f8686
- Consistently use -search.maxGraphiteTagValues for limiting tag values from auto-complete API
- Use -search.maxGraphiteSeries for limiting paths (aka series), which can be returned from Graphite series API
- Clarify the change in docs/CHANGELOG.md

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4339
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/2841
2023-07-06 15:19:07 -07:00
Aliaksandr Valialkin
4f6eb775df
Makefile: remove trailing whitespace from copy-docs comments 2023-07-06 11:01:39 -07:00
Aliaksandr Valialkin
6a3cee5c2c
lib/promscrape/discoveryutils: re-use checkRedirect function for both client and blockingClient
Also document follow_redirects option at https://docs.victoriametrics.com/sd_configs.html#http-api-client-options

This is a follow-up for b3d0ff463a

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4282
2023-07-06 10:52:13 -07:00
Aliaksandr Valialkin
eb47ad4b69
app/vmselect/netstorage: remove runtime.Gosched() call from unpackWorker()
This should improve scalability of unpackWorker() on systems with many CPU cores.
This is a follow-up for a2ecf4fa4a and 16f3b279a2

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3966
2023-07-06 10:07:42 -07:00
Alexander Marshalov
b3f8bb5b50
vmbackupmanager bugfixes: (#577)
- error on running with empty -dst dir and without -runOnStart
- error on restoring with backup, created before v1.90.0
2023-07-05 22:08:04 -07:00
Aliaksandr Valialkin
ec75d9097d
app/vmselect/netstorage: follow-up after 11ac551d52
- Clarify the scope of the fix at docs/CHANGELOG.md
- Handle the case when -search.maxSamplesPerSeries limit is exceeded
  in the same way as the -search.maxSamplesPerQuery limit.

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/pull/4472
2023-07-05 21:13:34 -07:00
Aliaksandr Valialkin
643e99a157
app/vmselect/netstorage: improve code readability a bit after 6c84b61893
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4364
2023-07-05 20:48:38 -07:00
Roman Khavronenko
11ac551d52
app/vmselect/netstorage: properly process -search.maxSamplesPerQuery limit (#4472)
Properly return the error to user when `-search.maxSamplesPerQuery` limit is exceeded.
Before, user could have received a partial response instead.

Signed-off-by: hagen1778 <roman@victoriametrics.com>
2023-06-23 13:17:34 +02:00
Zakhar Bessarab
bf4120a3d9
lib/vmselectapi: extend error handling to ignore "reset by peer" (#4498)
This is a followup for https://github.com/VictoriaMetrics/VictoriaMetrics/pull/4418 to also handle "connection reset by peer" errors in connection handling logic.
This error can be triggered just the same as described in original PR: when query was closed on vmselect side and connection has been interrupted.

Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com>
2023-06-22 11:24:18 +02:00
Dmytro Kozlov
88ac6116bd
docs: clarify -retentionPeriod flag usage (#4417)
app/vmstorage: clarify the min value for `-retentionPeriod` flag

Co-authored-by: Roman Khavronenko <roman@victoriametrics.com>

(cherry picked from commit 24f34347f1)
Signed-off-by: hagen1778 <roman@victoriametrics.com>
2023-06-09 10:44:22 +02:00
Roman Khavronenko
4624fda00d
all: update Go builder from Go1.20.4 to Go1.20.5 (#4427)
See https://github.com/golang/go/issues?q=milestone%3AGo1.20.5+label%3ACherryPickApproved

Signed-off-by: hagen1778 <roman@victoriametrics.com>

(cherry picked from commit 476c7bdd6f)
Signed-off-by: hagen1778 <roman@victoriametrics.com>
2023-06-09 10:42:15 +02:00
hagen1778
dde01c826d
lib/vmselectapi: properly check for net.ErrClosed
This error may be wrapped in another error, and should normally be tested using
`errors.Is(err, net.ErrClosed)`.

Signed-off-by: hagen1778 <roman@victoriametrics.com>
2023-06-09 10:42:03 +02:00
Roman Khavronenko
d677c2a5a6
lib/promscrape/discoveryutils: properly check for net.ErrClosed (#4426)
This error may be wrapped in another error, and should normally be tested using
`errors.Is(err, net.ErrClosed)`.

Signed-off-by: hagen1778 <roman@victoriametrics.com>
(cherry picked from commit dfe53a36fc)
2023-06-09 10:41:07 +02:00
Roman Khavronenko
c42365dc31
docs/changelog: mention a6a7795b9e change (#4425)
docs/changelog: mention a6a7795b9e change

a6a7795b9e

Signed-off-by: hagen1778 <roman@victoriametrics.com>
(cherry picked from commit d4c314d628)
2023-06-09 10:41:07 +02:00
Zakhar Bessarab
bcece4c5ce
doc: changelog followup for #4420 fix (#4421)
Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com>
(cherry picked from commit 9a490d0b5c)
2023-06-09 10:41:07 +02:00
Zakhar Bessarab
7925e9698f
app/vmagent/remotewrite: fix vmagent panic on shutdown (#4407)
app/vmagent/remotewrite: fix vmagent panic on shutdown

Currently, when vmagent is stopping it first flushes pending series in remote write context and proceeds to stop streaming aggregation. This leads to streaming aggregation being unable to write results into pending timeseries (since it is already nil) and panic.
This can lead to losing some aggregation results being lost almost silently.

The fix is reordering flow to first stop streaming aggregation and flush all pending time series after that.

Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com>
(cherry picked from commit ce7141383d)
2023-06-09 10:40:52 +02:00
Roman Khavronenko
3544e66a95
docs: mention checksums and data corruption (#4404)
Signed-off-by: hagen1778 <roman@victoriametrics.com>

(cherry picked from commit 96b40b044c)
Signed-off-by: hagen1778 <roman@victoriametrics.com>
2023-06-09 10:40:48 +02:00
Roman Khavronenko
71e9eaae0a
docs/keyConcepts: replace lookback window with more clear desc (#4405)
Signed-off-by: hagen1778 <roman@victoriametrics.com>
(cherry picked from commit bfa0fd3eb3)
2023-06-09 10:40:26 +02:00
Roman Khavronenko
fb9b8f6b1b
app/vmagent: mention enable_http2 in changelog (#4403)
Follow-up after
72c3cd47eb

Signed-off-by: hagen1778 <roman@victoriametrics.com>
(cherry picked from commit 3305a6901c)
2023-06-09 10:40:24 +02:00
Haleygo
6edf94c4b9
vmagent:scrape config support enable_http2 (#4295)
app/vmagent: support `enable_http2` in scrape config

This change adds HTTP2 support for scrape config
and improves compatibility with Prometheus config.

See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4283

(cherry picked from commit 72c3cd47eb)
2023-06-09 10:40:17 +02:00
Roman Khavronenko
d9131d71cd
docs/CHANGELOG.md: cut v1.91.2 (#4393)
Signed-off-by: hagen1778 <roman@victoriametrics.com>
(cherry picked from commit cc739e3f8d)
2023-06-09 10:40:13 +02:00
Roman Khavronenko
c9f6b34a82
Bump 1.91.2 (#4394)
* deployment/docker: update VictoriaMetrics version from v1.91.1 to v1.91.2 in docker compose files

Signed-off-by: hagen1778 <roman@victoriametrics.com>

* deployment/marketplace: update VictoriaMetrics version from v1.91.1 to v1.91.2 in marketplace files

Signed-off-by: hagen1778 <roman@victoriametrics.com>

---------

Signed-off-by: hagen1778 <roman@victoriametrics.com>
(cherry picked from commit 2d6a3bc61f)
2023-06-09 10:40:10 +02:00
Dmytro Kozlov
dd89fb2e12
app/vmctl: add verbose output for docker installations or when TTY isn't available (#4333)
* app/vmctl: add verbose output for docker installations or when TTY isn't available

* app/vmctl: fix tests

* app/vmctl: make vmctl interactive if no tty

* app/vmctl: cleanup

* app/vmctl: add comment

---------

Co-authored-by: Nikolay <nik@victoriametrics.com>

(cherry picked from commit fc5292d8ed)
Signed-off-by: hagen1778 <roman@victoriametrics.com>
2023-06-09 10:39:38 +02:00
Dmytro Kozlov
c5debee3f4
app/{graphite,netstorage,prometheus}: fix graphite search tags api limits, remove redudant limit from SeriesHandler handler (#4352)
* app/{graphite,netstorage,prometheus}: fix graphite search tags api limits, remove unused limit from SeriesHandler handler,

* app/{graphite,netstorage,prometheus}: use search.maxTagValues for Graphite

* app/{graphite,netstorage,prometheus}: update CHANGELOG.md

* app/{graphite,netstorage,prometheus}: use own flags for Graphite API

* app/{graphite,netstorage,prometheus}: cleanup

* app/{graphite,netstorage,prometheus}: cleanup

* app/{graphite,netstorage,prometheus}: update docs

---------

Co-authored-by: Nikolay <nik@victoriametrics.com>

(cherry picked from commit c7884f8686)
Signed-off-by: hagen1778 <roman@victoriametrics.com>
2023-06-09 10:39:12 +02:00
Roman Khavronenko
dfb05c884b
lib/vmselectapi: suppress "broken pipe" error logs on vmstorage side (#4418)
The "broken pipe" error is emitted when the connection has been interrupted abruptly.
It could happen due to unexpected network glitch or because connection was
interrupted by remote client. In both cases, remote client will notice
connection breach and handle it on its own. No need in logging this error
on both: server and client side.

This change should reduce the amount of log noise on vmstorage side. In the same time,
it is not expected to lose any information, since important logs should be still
emitted by the vmselect.

To conduct an experiment for testing this change see the following instructions:
1. Setup vmcluster with at least 2 storage nodes, 1 vminsert and 1 vmselect
2. Run vmselect with complexity limit checked on the client side: `-search.maxSamplesPerQuery=1`
3. Ingest some data and query it back: `count({__name__!=""})`
4. Observe the logs on vmselect and vmstorage side

Before the change, vmselect will log message about complexity limits exceeded. When this happens,
vmselect closes network connections to vmstorage nodes signalizing that it doesn't expect any data back.
Both vmstorage processes will try to push data to the connection and will fail with "broken pipe" error,
means that vmselect closed the connection.

After the change, vmstorages should remain silent. And vmselect will continue emittin the error message
about complexity limits exceeded.

Signed-off-by: hagen1778 <roman@victoriametrics.com>
2023-06-08 08:31:05 -07:00
Roman Khavronenko
a1b6a9317d
vmalert: fix nil map assignment (#4392)
* vmalert: fix nil map assignment

The storage instance with nil map params was created for remote-read purposes.
And before change 7a9ae9de0d this map was ignored in ApplyParams.
Now, it started to be used and vmalert panics in runtime.

The fix properly inits map for at `NewVMStorage` and verifies it is not nil
on assignment in `ApplyParams`.

Signed-off-by: hagen1778 <roman@victoriametrics.com>

* vmalert: add to changelog

Signed-off-by: hagen1778 <roman@victoriametrics.com>

* vmalert: properly clone Storage params

Signed-off-by: hagen1778 <roman@victoriametrics.com>

* vmalert: properly clone Storage params

Signed-off-by: hagen1778 <roman@victoriametrics.com>

* vmalert: properly clone Storage params

Signed-off-by: hagen1778 <roman@victoriametrics.com>

---------

Signed-off-by: hagen1778 <roman@victoriametrics.com>
(cherry picked from commit de94812088)
2023-06-02 13:29:51 +02:00
Roman Khavronenko
b00509704f
deployment/docker: update VictoriaMetrics version from v1.91.0 to v1.91.1 in docker compose files (#4387)
Signed-off-by: hagen1778 <roman@victoriametrics.com>
(cherry picked from commit 2c664a6d12)
2023-06-02 13:29:50 +02:00
Roman Khavronenko
e0d565bce1
docs/CHANGELOG.md: cut v1.91.1 (#4386)
Signed-off-by: hagen1778 <roman@victoriametrics.com>
(cherry picked from commit b771152039)
2023-06-02 13:29:49 +02:00
Nikolay
89c036f4f6
docs/changlelog: mention 6c84b61 (#4384)
(cherry picked from commit 2c876227e4)
2023-06-02 13:29:48 +02:00
Roman Khavronenko
fde5a59726
app/vmalert: follow-up after 7a9ae9de0d (#4381)
7a9ae9de0d

Signed-off-by: hagen1778 <roman@victoriametrics.com>
(cherry picked from commit eccecdf177)
2023-06-02 13:29:47 +02:00
Roman Khavronenko
598671c0e8
docs: mention fix for https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4221 (#4382)
https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4221

Signed-off-by: hagen1778 <roman@victoriametrics.com>
(cherry picked from commit 4b5faf7efb)
2023-06-02 13:29:46 +02:00
Dmytro Kozlov
ce98e68fe1
app/vmui: fix behavior when changing url in global settings (#4332)
* app/vmui: fix behavior when changing url in global settings

* app/vmctl: minor fix

* app/vmui: fix behavior when changing url in global settings

(cherry picked from commit 9843ec0e1d)
2023-06-02 13:29:46 +02:00
Nikolay
5066907317
docs: mention recent changes at changelog (#4379)
(cherry picked from commit a0bf8f233f)
2023-06-02 13:29:45 +02:00
Roman Khavronenko
7da0c37d2b
docs: clarify deduplication docs (#4371)
The purpose of the change is too highlight what HA pair is
and how deduplication needs identical labels to be present
in raw samples.

See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4367

Signed-off-by: hagen1778 <roman@victoriametrics.com>

(cherry picked from commit 8185c2466c)
Signed-off-by: hagen1778 <roman@victoriametrics.com>
2023-06-02 13:29:45 +02:00
gsakun
72b72f06a0
app/vmalert: fix datasource.roundDigits Parameter (#4341)
app/vmalert: fix querybuild clone and extraParams merge logic

See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4340

(cherry picked from commit 20dc3db71e)
2023-06-02 13:29:16 +02:00
Denys Holius
f78e34c0b0
docs/Quick-Start.md: adds missed command to 'Starting VM-Cluster via Docker' section (#4375)
(cherry picked from commit 0bca7d49b9)
2023-06-02 13:29:15 +02:00
Nikolay
043431093a
app/vmauth: properly handle LOCAL proxy protocol command (#4373)
app/vmauth: properly handle LOCAL proxy protocol command

It is required for handling health checks from load balancers

https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3335
(cherry picked from commit f263031fe9)
2023-06-02 13:29:15 +02:00
Roman Khavronenko
c862952cb0
docs: mention disk space requirements for downsampling (#4369)
Signed-off-by: hagen1778 <roman@victoriametrics.com>

(cherry picked from commit a0c040ea58)
Signed-off-by: hagen1778 <roman@victoriametrics.com>
2023-06-02 13:29:14 +02:00
Roman Khavronenko
288e8fec6b
vmalert: mention default value for external.url flag (#4365)
Signed-off-by: hagen1778 <roman@victoriametrics.com>
(cherry picked from commit 1b24f4729b)
2023-06-02 13:28:08 +02:00
Artem Navoiev
c9c4c92e6e
docs: fix enterprise page title to match with official name
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>
(cherry picked from commit a8c58fc145)
2023-06-02 13:28:06 +02:00
Artem Navoiev
6dca7d245b
docs: fix markdown headers ordering
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>
(cherry picked from commit 5b0e8c797c)
2023-06-02 13:28:05 +02:00
Artem Navoiev
27960fd6ec
docs: fix markdown for title
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>
(cherry picked from commit 83c1944184)
2023-06-02 13:28:04 +02:00
Artem Navoiev
bbd1dd9d03
fix image path
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>
(cherry picked from commit 6967c3cb95)
2023-06-02 13:28:04 +02:00
Artem Navoiev
756f0e1545
docs: change images from markdown tag to html for migration
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>
(cherry picked from commit 8a4c89ea22)
2023-06-02 13:28:04 +02:00
Roman Khavronenko
74c4c1d909
vmalert: properly form assets address if httpPrefix set (#4351)
Properly form path to static assets in WEB UI
 if `http.pathPrefix` set.

 https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4349

Signed-off-by: hagen1778 <roman@victoriametrics.com>
(cherry picked from commit 51cea6cad4)
2023-06-02 13:28:03 +02:00
Roman Khavronenko
a0825ca5cd
docs: mention multi-tenancy in docs (#4357)
The update should make understanding of multi-tenancy more clear
for influxdb users.

Signed-off-by: hagen1778 <roman@victoriametrics.com>

(cherry picked from commit 1c3f50f791)
Signed-off-by: hagen1778 <roman@victoriametrics.com>
2023-06-02 13:28:02 +02:00
Artem Navoiev
8dd2a263b9
desribe old link param
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>
(cherry picked from commit bf4711ecba)
2023-06-02 13:25:49 +02:00
Artem Navoiev
5e6fe50c53
return information about cluster
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>

(cherry picked from commit 8f09569cb8)
Signed-off-by: hagen1778 <roman@victoriametrics.com>
2023-06-02 13:25:48 +02:00
Artem Navoiev
3185b8048c
update docs-sync Makefile command, add hugo front-matter
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>

(cherry picked from commit f791811b15)
Signed-off-by: hagen1778 <roman@victoriametrics.com>
2023-06-02 13:24:41 +02:00