Releases: VictoriaMetrics/VictoriaMetrics
v0.19.0-victorialogs
Released at 2024-06-11
-
FEATURE: do not allow starting the filter with pipe names and stats function names. This prevents from unexpected results returned by incorrect queries, which miss mandatory filter.
-
FEATURE: treat unexpected syslog message as RFC3164 containing only the
message
field when usingunpack_syslog
pipe. -
FEATURE: allow using
where
prefix instead offilter
prefix infilter
pipe. -
FEATURE: disallow unescaped
!
char in LogsQL queries, since it permits writing incorrect query, which may look like correct one. For example,foo!:bar
instead offoo:!bar
. -
FEATURE: web UI: add markdown support to the
Group
view. See this pull request. -
BUGFIX: return back the improved performance for queries with
*
filters (akaSELECT *
). This has been broken in v0.16.0.
v1.102.0-rc1
Released at 2024-06-07
Update note 1: the -remoteWrite.multitenantURL
command-line flag at vmagent
was removed starting from this release. This flag was deprecated since v1.96.0. Use -enableMultitenantHandlers
instead, as it is easier to use and combine with multitenant URL at vminsert. See these docs for details.
Update note 2: the -streamAggr.dropInputLabels
command-line flag at vmagent
was renamed to -remoteWrite.streamAggr.dropInputLabels
. -streamAggr.dropInputLabels
is now used for global streaming aggregation.
Update note 3: the -maxLabelValueLen
command-line flag default value was changed from 16kB to 1kB. It may lead to truncating of labels with enormous values.
-
SECURITY: upgrade Go builder from Go1.22.2 to Go1.22.4. See the list of issues addressed in Go1.22.3 and Go1.22.4.
-
SECURITY: upgrade base docker image (Alpine) from 3.19.1 to 3.20.0. See alpine 3.20.0 release notes.
-
SECURITY: add release images built from scratch image. Such images could be more preferable for using in environments with higher security standards. See this pull request.
-
FEATURE: dashboards/single: support selecting of multiple instances on the dashboard. See this issue for details.
-
FEATURE: dashboards/single: properly display version in the Stats row for the custom builds of VictoriaMetrics.
-
FEATURE: dashboards/single: add
Network Usage
panel toResource Usage
row. -
FEATURE: dashboards/operator, dashboards/backupmanager and dashboard/tenant-statistic: update dashboard to be compatible with Grafana 10+ version.
-
FEATURE: dashboards/cluster: add new panel
Concurrent selects
tovmstorage
row. The panel will show how many ongoing select queries are processed by vmstorage and should help to identify resource bottlenecks. See panel description for more details. -
FEATURE: dashboards: use
$__interval
variable for offsets and look-behind windows in annotations. This should improve precision ofrestarts
andversion change
annotations when zooming-in/zooming-out on the dashboards. -
FEATURE: vmagent: support aggregation and deduplication configs before replicating data to configured
-remoteWrite.url
destinations. This saves CPU and memory resources when incoming data needs to be aggregated or deduplicated once and then replicated to multiple destinations. See this issue. -
FEATURE: vmagent: add service discovery support for Vultr. See these docs and this issue.
-
FEATURE: vmagent: allow configuring
-remoteWrite.disableOnDiskQueue
and-remoteWrite.dropSamplesOnOverload
cmd-line flags per each-remoteWrite.url
. See this pull request. Thanks to @rbizos for implementation! -
FEATURE: vmagent: add labels
path
andurl
to metricsvmagent_remotewrite_push_failures_total
andvmagent_remotewrite_samples_dropped_total
. Now number of failed pushes and dropped samples can be tracked per-remoteWrite.url
. -
FEATURE: stream aggregation: add rate_sum and rate_avg aggregation outputs.
-
FEATURE: stream aggregation: reduce the number of allocated objects in heap during deduplication and aggregation. The change supposed to reduce pressure on Garbage Collector, as it will need to scan less objects. See this pull request.
-
FEATURE: vmalert: add
datasource.idleConnTimeout
,remoteWrite.idleConnTimeout
andremoteRead.idleConnTimeout
flags. These flags are set to 50s by default and should reduce the probability ofbroken pipe
orconnection reset by peer
errors in vmalert logs. See this issue for details. -
FEATURE: vmalert: add auto request retry for trivial network errors, such as
broken pipe
andconnection reset
for requests toremoteRead
,remoteWrite
anddatasource
URLs. See this issue for details. -
FEATURE: vmalert: reduce CPU usage when evaluating high number of alerting and recording rules.
-
FEATURE: vmalert: speed up retrieving rules files from object storages by skipping unchanged objects during reloading. See this issue.
-
FEATURE: vmalert: support reading DNS SRV records in
-datasource.url
,-remoteWrite.url
and-remoteRead.url
command-line option. For example,-remoteWrite.url=http://srv+victoria-metrics
automatically resolves thevictoria-metrics
DNS SRV to a list of hostnames with TCP ports and then sends data to one of the addresses. See this feature request. -
FEATURE: vmbackup, vmrestore, vmbackupmanager: add
-s3TLSInsecureSkipVerify
command-line flag for skipping TLS certificates verification when connecting to S3 endpoint. -
FEATURE: expose metric
vm_indexdb_items_dropped_total
to track the number of IndexDB records that had to be dropped during ingestion. The reason of dropping the record will be annotated inreason
label of the exposed metric. This change also comes with a new alerting rule to track changes of this metric. -
FEATURE: alerts-health: add new alerting rules
TooLongLabelValues
andTooLongLabelNames
to notify about truncation of label values or names respectively. -
FEATURE: stream aggregation: expose
vm_streamaggr_ignored_samples_total
counters at/metrics
page, which can be used for detecting amount of too old or NaN valued ignored samples. Expose alsovm_streamaggr_samples_lag_seconds
histogram to monitor aggregated samples lag. -
FEATURE: stream aggregation: improve filtering speed of the received data samples if match field is matching only metric name.
-
BUGFIX: vmui: fix bug that prevents the first query trace from expanding on click event. See this issue. The issue was introduced in v1.100.0 release.
-
BUGFIX: vmui: fix calendar display when
UTC+00:00
timezone is set. See this issue. -
BUGFIX: vmui: remove redundant requests on the
Explore Cardinality
page. See this issue. -
BUGFIX: vmui: fix handling of URL params for browser history navigation (back and forward buttons). See this issue and this comment.
-
BUGFIX: vmagent: prevent potential panic during stream aggregation if more than one
--remoteWrite.streamAggr.dedupInterval
is configured. See this issue. -
BUGFIX: vmagent: skip empty data blocks before sending to the remote write destination. Thanks...
v1.97.5
Released at 2024-06-07
v1.97.x is a line of LTS releases. It contains important up-to-date bugfixes for VictoriaMetrics enterprise.
All these fixes are also included in the latest community release.
The v1.97.x line will be supported for at least 12 months since v1.97.0 release
-
SECURITY: upgrade Go builder from Go1.22.2 to Go1.22.4. See the list of issues addressed in Go1.22.3 and Go1.22.4.
-
SECURITY: upgrade base docker image (Alpine) from 3.19.1 to 3.20.0. See alpine 3.20.0 release notes.
-
BUGFIX: vmui: fix calendar display when
UTC+00:00
timezone is set. See this issue. -
BUGFIX: vmui: remove redundant requests on the
Explore Cardinality
page. See this issue. -
BUGFIX: vmui: fix handling of URL params for browser history navigation (back and forward buttons). See this issue and this comment.
-
BUGFIX: vmagent: skip empty data blocks before sending to the remote write destination. Thanks to @viperstars for the pull request.
-
BUGFIX: properly estimate the needed memory for query execution if it has the format
aggr_func
(rollup_func[d]
(for example,sum(rate(request_duration_seconds_bucket[5m]))
). This should allow performing aggregations over bigger number of time series when VictoriaMetrics runs in environments with small amounts of available memory. The issue has been introduced in this commit in v1.83.0. -
BUGFIX: Single-node VictoriaMetrics and
vmstorage
in VictoriaMetrics cluster: correctly apply-inmemoryDataFlushInterval
when it's set to minimum supported value 1s. -
BUGFIX: vmauth: properly release memory used for metrics during config reload. See this issue.
-
BUGFIX: Single-node VictoriaMetrics and
vmselect
in VictoriaMetrics cluster: filter deleted label names and values from/api/v1/labels
and/api/v1/label/.../values
responses whenmatch[]
filter matches small number of time series. The issue was introduced v1.81.0. -
BUGFIX: vmalert: fix misleading error logs in vmalert's stdout when unsupported HTTP path is requested.
-
BUGFIX: retry files delete attempts on vXFS file system for
EEXIST
error type. See the related issue. Thanks to @pludov for the pull request.
v1.93.15
Released at 2024-06-07
v1.93.x is a line of LTS releases. It contains important up-to-date bugfixes.
The v1.93.x line will be supported for at least 12 months since v1.93.0 release
-
SECURITY: upgrade Go builder from Go1.22.2 to Go1.22.4. See the list of issues addressed in Go1.22.3 and Go1.22.4.
-
SECURITY: upgrade base docker image (Alpine) from 3.19.1 to 3.20.0. See alpine 3.20.0 release notes.
-
BUGFIX: vmui: fix calendar display when
UTC+00:00
timezone is set. See this issue. -
BUGFIX: vmagent: skip empty data blocks before sending to the remote write destination. Thanks to @viperstars for the pull request.
-
BUGFIX: properly estimate the needed memory for query execution if it has the format
aggr_func
(rollup_func[d]
(for example,sum(rate(request_duration_seconds_bucket[5m]))
). This should allow performing aggregations over bigger number of time series when VictoriaMetrics runs in environments with small amounts of available memory. The issue has been introduced in this commit in v1.83.0. -
BUGFIX: Single-node VictoriaMetrics and
vmselect
in VictoriaMetrics cluster: filter deleted label names and values from/api/v1/labels
and/api/v1/label/.../values
responses whenmatch[]
filter matches small number of time series. The issue was introduced v1.81.0. -
BUGFIX: vmalert: fix misleading error logs in vmalert's stdout when unsupported HTTP path is requested.
-
BUGFIX: retry files delete attempts on vXFS file system for
EEXIST
error type. See the related issue. Thanks to @pludov for the pull request.
v0.18.0-victorialogs
Released at 2024-06-06
- FEATURE: web UI: improve displaying of logs. See this pull request and the following issues: 6408, 6405, 6406 and 6407.
- FEATURE: add support for day range filter and week range filter. These filters allow selecting logs on a particular time range per every day or on a particular day of the week.
- FEATURE: allow using
eval
instead ofmath
keyword inmath
pipe.
v0.17.0-victorialogs
Released at 2024-06-05
-
FEATURE: add
pack_logfmt
pipe for formatting log fields into logfmt messages. -
FEATURE: allow using IPv4 addresses in range comparison filters. For example,
ip:>'12.34.56.78'
is valid filter now. -
FEATURE: add
ceil()
andfloor()
functions tomath
pipe. -
FEATURE: add support for bitwise
and
,or
andxor
operations atmath
pipe. -
FEATURE: add support for automatic conversion of RFC3339 time and IPv4 addresses into numeric representation at
math
pipe. -
FEATURE: add ability to format numeric fields into string representation of time, duration and IPv4 with
format
pipe. -
FEATURE: set
format
field torfc3164
orrfc5424
depending on the Syslog format parsed viaunpack_syslog
pipe. -
BUGFIX: always respect the limit set in
limit
pipe. Previously the limit could be exceeded in some cases.
v0.16.0-victorialogs
Released at 2024-06-04
- FEATURE: add
unpack_syslog
pipe for unpacking syslog messages from log fields. - FEATURE: parse timestamps in
_time
filter with nanosecond precision. - FEATURE: return the last
N
matching logs from/select/logsql/query
HTTP API with the maximum timestamps iflimit=N
query arg is passed to it. Previously a random subset of matching logs could be returned, which could complicate investigation of the returned logs. - FEATURE: add
drop_empty_fields
pipe for dropping log fields with empty values.
v0.15.0-victorialogs
Released at 2024-05-30
-
FEATURE: add
row_any
function forstats
pipe. This function returns a sample log entry per every calculated group of results. -
FEATURE: add
default
operator tomath
pipe. It allows overridingNaN
results with the given default value. -
FEATURE: add
exp()
andln()
functions tomath
pipe. -
FEATURE: allow omitting result name in
math
pipe expresions. In this case the result name is automatically set to string representation of the corresponding math expression. For example,_time:5m | math duration / 1000
is equivalent to_time:5m | math (duration / 1000) as "duration / 1000"
. -
FEATURE: allow omitting result name in
stats
pipe. In this case the result name is automatically set to string representation of the corresponding stats function expression. For example,_time:5m | count(*)
is valid LogsQL query now. It is equivalent to_time:5m | stats count(*) as "count(*)"
. -
BUGFIX: properly calculate the number of matching rows in
* | field_values x | stats count() rows
and in* | unroll (x) | stats count() rows
queries.
v0.14.0-victorialogs
Released at 2024-05-29
-
FEATURE: allow specifying fields, which must be packed into JSON in
pack_json
pipe viapack_json fields (field1, ..., fieldN)
syntax. -
BUGFIX: properly apply
if (...)
filters to calculated results instats
pipe when grouping by fields is enabled. For example,_time:5m | stats by (host) count() logs, count() if (error) errors
now properly calculates per-host
errors
.
v0.13.0-victorialogs
Released at 2024-05-28
- FEATURE: add
extract_regexp
pipe for extracting arbitrary substrings from log fields with RE2 egular expressions. - FEATURE: add
math
pipe for mathematical calculations over log fields. - FEATURE: add
field_values
pipe, which returns unique values for the given log field. - FEATURE: allow omitting
stats
prefix instats
pipe. For example,_time:5m | count() rows
is a valid query now. It is equivalent to_time:5m | stats count() as rows
. - FEATURE: allow omitting
filter
prefix infilter
pipe if the filter doesn't clash with pipe names. For example,_time:5m | stats by (host) count() rows | rows:>1000
is a valid query now. It is equivalent to_time:5m | stats by (host) count() rows | filter rows:>1000
. - FEATURE: allow
head
pipe without number. For example,error | head
. In this case 10 last values are returned ashead
Unix command does by default. - FEATURE: allow using comparison filters with strings. For example,
some_text_field:>="foo"
matches log entries withsome_text_field
field values bigger or equal tofoo
.