VictoriaMetrics/docs/guides/guide-vmcluster-multiple-retention-setup.md
Aliaksandr Valialkin 334a739ff6
docs: convert png images to webp in all the docs except of docs/operator/*
This reduces the size of docs/* folder from 33MB to 18MB

Images inside docs/operator/* must be converted at the https://github.com/VictoriaMetrics/operator/tree/master/docs
and then the updated images must be automatically propagated to the docs/operator/*

This is a follow-up for d3f919df3e

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5206
2023-11-22 19:21:00 +02:00

3.1 KiB

weight title menu aliases
10 Multi Retention Setup within VictoriaMetrics Cluster
docs
parent weight
guides 10
/guides/guide-vmcluster-multiple-retention-setup.html

Multi Retention Setup within VictoriaMetrics Cluster

Objective

Setup Victoria Metrics Cluster with support of multiple retention periods within one installation.

Enterprise Solution

VictoriaMetrics enterprise supports specifying multiple retentions for distinct sets of time series and tenants via retention filters.

Open Source Solution

Community version of VictoriaMetrics supports only one retention period per vmstorage node via -retentionPeriod command-line flag.

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 + vminserts 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

  1. Groups of vminserts A know about only vmstorages A and this is explicitly specified via -storageNode configuration.
  2. Groups of vminserts B know about only vmstorages B and this is explicitly specified via -storageNode configuration.
  3. Groups of vminserts C know about only vmstorages A and this is explicitly specified via -storageNode configuration.
  4. Vmselect reads data from all vmstorage nodes via -storageNode configuration.
  5. 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.