- What's new in VictoriaMetrics at Q4 2023 - Roman Khavronenko
* vmselect improved performance for instant queries!
* vmselect rollup cache for range queries
* vmselect instant queries can't be cached
* vmagent shard's URL templating in cluster mode
* vmagent Google PubSub and NewRelic agent
* vmcluster rerouting enhancement
* vmalert unittesting for alerting rules via vmalert-tool
* vmauth hot standby balancing mode
* vmui support functions and labels in autocomplete
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
December 2024 Meetup: Welcome & VictoriaMetrics Updates
1. Welcome to our Virtual Meet Up
December 14 @ 5pm GMT / 6pm CET / 9am PT
2. ● Intro & Warm Up
● What's new in VictoriaMetrics, Roman Khavronenko
○ Managed VictoriaMetrics, Ivan Yatskevich
○ Anomaly Detection, Daria Karavaieva / Fred Navruzov
● Our Vicky Story
○ Egor Pronin (WEDOS)
○ Andrey Tyulenev (Deutsche Bank)
○ Carsten Aulbert (Max Planck Institute for Gravitational Physics, Albert Einstein Institute)
○ Haley Wang: From Vicky contributor to Vicky team member
● Vicky Community Update
○ Community News, Denys Holius
○ Latest VictoriaMetrics News, Jean-Jérôme Schmidt-Soisson
● Party Time: Celebrating 5 Years of VictoriaMetrics
● BYOD (Bring Your Own Drink) for a toast
● BYO Cake with 5 candles
● AMA session
Agenda
4. vmselect improved performance for instant queries!
● There are two types of queries:
○ Range queries - used in dashboards
○ Instant queries - used for alerting
● vmselect has a rollup cache for range queries, to request only data that
is missing on a range
7. vmselect rollup cache for range queries
Request only missing points, from now() to now()-30m
CACHED
8. vmselect instant queries can't be cached
Request only missing points, from now() to now()-30m
CACHED
It is a one value calculated on a time window,
there is no step
9. vmselect instant queries can't be cached
- record: slo:sli_error:ratio_rate3d
expr: |
sum(rate(vm_http_request_errors_total[3d]))
/
sum(rate(vm_http_requests_total[3d]))
Every execution will read 3 days of data,
while only a fraction of data changes between executions
10. vmselect instant queries can't be cached…
before 1.95!
● avg_over_time
● sum_over_time
● count_eq_over_time
● count_gt_over_time
● count_le_over_time
● count_ne_over_time
● count_over_time
● increase
● max_over_time
● min_over_time
● rate
The optimization is enabled when these functions contain
lookbehind window in square brackets bigger or equal to 6h,
-search.minWindowForInstantRollupOptimization
The optimization improves performance for SLO/SLI-like
queries such as avg_over_time(up[30d]) or
sum(rate(http_request_errors_total[3d])) /
sum(rate(http_requests_total[3d])),
which can be generated by sloth or similar projects.
11. vmagent shard's URL templating in cluster mode
-promscrape.cluster.memberURLTemplate='http://vmagent-instance-%d:8429/targets'
Thanks to @valyala!
12. vmagent Google PubSub and NewRelic agent
Thanks to
@dima-vm
@f41gh7
Thanks to
@dmitryk-dk
13. vmagent other updates
● -enableMultitenantHandlers allows receiving data via VictoriaMetrics cluster urls
at vmagent and converting tenant ids
● -remoteWrite.disableOnDiskQueue for disabling data queueing to disk when the
remote storage cannot keep up with the data ingestion rate
● -remoteWrite.shardByURL.labels for specifying a list of labels for sharding
15. vmalert unittesting for alerting rules via vmalert-tool
./bin/vmalert-tool unittest --files=test1.yaml,test2.yaml
Unit Testing: app/vmalert-tool/unittest/testdata/test1.yaml
SUCCESS
Unit Testing: app/vmalert-tool/unittest/testdata/test2.yaml
SUCCESS
https://docs.victoriametrics.com/vmalert-tool.html
Thanks to
@Haleygo!
17. vmui support functions and labels in autocomplete
Try it at:
https://play.victoriametrics.com
18. Just updates :)
● Updates to vmagent, vmalert, vmauth, vmui
● Updates to MetricsQL
● Updates to Grafana dashboards and alerting rules
● Plenty of updates & bugfixes to Helm charts and k8s operator
See https://docs.victoriametrics.com/CHANGELOG.html