* Multi retention standardization of docs While reading through the docs the implementation details had different formatting for storageNode. This standardizes them and adds a link to the retention docs. * Update docs/guides/guide-vmcluster-multiple-retention-setup.md Co-authored-by: Aliaksandr Valialkin <valyala@gmail.com>
2.4 KiB
Multi Retention Setup within VictoriaMetrics Cluster
Objective
Setup Victoria Metrics TSDB with support of multiple retention periods within one installation.
Challenge
VictoriaMetrics instance (single node or vmstorage node) supports only one retention period.
Solution
A multi-retention setup can be implemented by dividing a victoriametrics cluster into logical groups with different retentions.
Example: Setup should handle 3 different retention groups 3months, 1year and 3 years. Solution contains 3 groups of vmstorages + vminserst and one group of vmselects. Routing is done by vmagent and relabeling configuration. The -retentionPeriod sets how long to keep the metrics.
The diagram below shows a proposed solution
Implementation Details
- Groups of vminserts A know about only vmstorages A and this is explicitly specified via
-storageNode
configuration. - Groups of vminserts B know about only vmstorages B and this is explicitly specified via
-storageNode
configuration. - Groups of vminserts C know about only vmstorages A and this is explicitly specified via
-storageNode
configuration. - Vmselect reads data from all vmstorage nodes via
-storageNode
configuration. - Vmagent routes incoming metrics to the given set of
vminsert
nodes using relabeling rules specified at-remoteWrite.urlRelabelConfig
configuration.
Multi-Tenant Setup
Every group of vmstorages can handle one tenant or multiple one. Different groups can have overlapping tenants. As vmselect reads from all vmstorage nodes, the data is aggregated on its level.
Additional Enhancements
You can set up vmauth for routing data to the given vminsert group depending on the needed retention.