What's new in VictoriaMetrics
* New releases
● v1.97 - long-term support (LTS) release
● v1.98 - mTLS authorization in all VictoriaMetrics components
● v1.99 - improved propagation of label filters in MetricsQL queries
● v1.100 - improvements in streaming aggregation and vmauth
* New features
** DataDog integrations
● Accept data from new versions of DataDog agent via DataDog v2 API
● Accept data from DataDog AWS lambda extensions
** OpenTelemetry
Data ingestion via Amazon Firehose: Accept OTEL metrics from Amazon Firehose
Prometheus-compatible naming
● -opentelemetry.usePrometheusNaming command-line flag
● Converts metric names and labels into Prometheus-compatible naming in the
same way as OTEL collector does
** Hetzner service discovery
● Discover scrape targets at Hetzner Cloud and Hetzner Robot
● hetzner_sd_configs
** Per-tenant and per-label downsampling (enterprise feature)
● Individual downsampling configs per distinct sets of tenants
● Individual downsampling configs per distinct sets of time series
** New Graphite query functions
● aggregateSeriesLists
● diffSeriesLists
● multiplySeriesLists
● sumSeriesLists
** mTLS support
● Every VictoriaMetrics Enterprise component verifies client TLS certificates if -mtls command-line flag is set
● Vmauth Enterprise supports mTLS-based request routing
** vmauth: improved request routing
● Host-based request routing
● Query args-based request routing
● Arbitrary header value-based request routing
** vmauth: DNS-based load balancing
● Even load balancing across IP addresses behind a single hostname
● Works great with vminsert and vmselect services
MetricsQL: new functions
● sum_eq_over_time
● sum_gt_over_time
● sum_le_over_time
● count_values_over_time - counts the number of unique sample values over time
** MetricsQL: improved label filters’ propagation
** Stream aggregation improvements
● Reduced memory usage by up to 5x
● De-duplication during data ingestion
● New aggregation functions:
○ unique_samples
○ increase_prometheus
○ total_prometheus
● Ability to drop labels before stream aggregation and de-duplication
● keep_metric_names option
** Performance improvements
● Improve registration speed for new time series by up to 10x
● Reduce memory usage when scraping targets with big number of metrics
● Optimize performance for /api/v1/labels and /api/v1/label/.../values APIs
3. New releases
● v1.97 - long-term support (LTS) release
● v1.98 - mTLS authorization in all the VictoriaMetrics components
4. New releases
● v1.97 - long-term support (LTS) release
● v1.98 - mTLS authorization in all VictoriaMetrics components
● v1.99 - improved propagation of label filters in MetricsQL queries
5. New releases
● v1.97 - long-term support (LTS) release
● v1.98 - mTLS authorization in all VictoriaMetrics components
● v1.99 - improved propagation of label filters in MetricsQL queries
● v1.100 - improvements in streaming aggregation and vmauth
10. OpenTelemetry: Prometheus-compatible naming
● -opentelemetry.usePrometheusNaming command-line flag
● Converts metric names and labels into Prometheus-compatible naming in the
same way as OTEL collector does
12. Per-tenant and per-label downsampling (enterprise feature)
● Individual downsampling configs per distinct sets of tenants
○ -downsampling.period=’{vm_account_id=~”1|5|10”}:1d:5m’
-downsampling.period=’{vm_account_id=~”42”}:1d:1h’
-downsampling.period=’1d:1m’
13. Per-tenant and per-label downsampling (enterprise feature)
● Individual downsampling configs per distinct sets of tenants
○ -downsampling.period=’{vm_account_id=~”1|5|10”}:1d:5m’
-downsampling.period=’{vm_account_id=~”42”}:1d:1h’
-downsampling.period=’1d:1m’
● Individual downsampling configs per distinct sets of time series
○ -donwnsampling.period=’{env!=”prod”}:1d:1h’
-donwsampling.period=’1d:5m’
15. mTLS support
● Every VictoriaMetrics Enterprise component verifies client TLS certificates if
-mtls command-line flag is set
16. mTLS support
● Every VictoriaMetrics Enterprise component verifies client TLS certificates if
-mtls command-line flag is set
● Vmauth Enterprise supports mTLS-based request routing
20. vmauth: DNS-based load balancing
● Even load balancing across IP addresses behind a single hostname
● Works great with vminsert and vmselect services
21. MetricsQL: new functions
● sum_eq_over_time
● sum_gt_over_time
● sum_le_over_time
● count_values_over_time - counts the number of unique sample values over time
22. MetricsQL: improved label filters’ propagation
● label_set(q1, "a", "b") + q2{c="d"} is automatically transformed to
label_set(q1{c="d"}, "a", "b") + q2{a="b",c="d"}
● Label filters are propagated across any label manipulation functions
● This improves performance for such queries by eliminating the need to fetch
unused time series
25. Stream aggregation improvements
● Reduced memory usage by up to 5x
● De-duplication during data ingestion
● New aggregation functions:
○ unique_samples
○ increase_prometheus
○ total_prometheus
26. Stream aggregation improvements
● Reduced memory usage by up to 5x
● De-duplication during data ingestion
● New aggregation functions:
○ unique_samples
○ increase_prometheus
○ total_prometheus
● Ability to drop labels before stream aggregation and de-duplication
27. Stream aggregation improvements
● Reduced memory usage by up to 5x
● De-duplication during data ingestion
● New aggregation functions:
○ unique_samples
○ increase_prometheus
○ total_prometheus
● Ability to drop labels before stream aggregation and de-duplication
● keep_metric_names option
29. Performance improvements
● Improve registration speed for new time series by up to 10x
● Reduce memory usage when scraping targets with big number of metrics
30. Performance improvements
● Improve registration speed for new time series by up to 10x
● Reduce memory usage when scraping targets with big number of metrics
● Optimize performance for /api/v1/labels and /api/v1/label/…/values APIs
32. Other interesting features
● Allow disabling re-routing when some of vmstorage nodes are unavailable
● Automatically reload TLS root CA certificates when they are updated on disk
33. Other interesting features
● Allow disabling re-routing when some of vmstorage nodes are unavailable
● Automatically reload TLS root CA certificates when they are updated on disk
● See many other features at the changelog