diff --git a/docs/anomaly-detection/CHANGELOG.md b/docs/anomaly-detection/CHANGELOG.md index 532574d5a..85c5bfe5e 100644 --- a/docs/anomaly-detection/CHANGELOG.md +++ b/docs/anomaly-detection/CHANGELOG.md @@ -11,6 +11,15 @@ aliases: --- Please find the changelog for VictoriaMetrics Anomaly Detection below. +## v1.16.2 +Released: 2024-10-06 +- FEATURE: Added support for `multitenant` value in `tenant_id` arg to enable querying across multiple tenants in [VictoriaMetrics cluster](https://docs.victoriametrics.com/cluster-victoriametrics/) (option available from [v1.104.0](https://docs.victoriametrics.com/cluster-victoriametrics/#multitenancy-via-labels)): + - Applied when reading input data from `vmselect` via the [VmReader](https://docs.victoriametrics.com/anomaly-detection/components/reader#vm-reader). + - Applied when writing generated results through `vminsert` via the [VmWriter](https://docs.victoriametrics.com/anomaly-detection/components/writer#vm-writer). + - For more details, refer to the `tenant_id` arg description in the documentation of the mentioned components. + +- FIX: Resolved an issue with handling an empty `preset` value (e.g., `preset: ""`) that was preventing the [default helm chart](https://github.com/VictoriaMetrics/helm-charts/blob/7f5a2c00b14c2c088d7d8d8bcee7a440a5ff11c6/charts/victoria-metrics-anomaly/values.yaml#L139) from being deployed. + ## v1.16.1 Released: 2024-10-02 - FIX: This patch release prevents the service from crashing by rolling back the version of a third-party dependency. Affected releases: [v1.16.0](#v1160). diff --git a/docs/anomaly-detection/components/reader.md b/docs/anomaly-detection/components/reader.md index 5dc974426..213ec0a52 100644 --- a/docs/anomaly-detection/components/reader.md +++ b/docs/anomaly-detection/components/reader.md @@ -131,10 +131,10 @@ Datasource URL address `tenant_id` -`0:0` +`0:0`, `multitenant` -For VictoriaMetrics Cluster version only, tenants are identified by accountID or accountID:projectID. See VictoriaMetrics Cluster [multitenancy docs](https://docs.victoriametrics.com/cluster-victoriametrics/#multitenancy) +For VictoriaMetrics Cluster version only, tenants are identified by `accountID` or `accountID:projectID`. Starting from [v1.16.2](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1162), `multitenant` [endpoint](https://docs.victoriametrics.com/cluster-victoriametrics/?highlight=reads#multitenancy-via-labels) is supported, to execute queries over multiple [tenants](https://docs.victoriametrics.com/cluster-victoriametrics/#multitenancy). See VictoriaMetrics Cluster [multitenancy docs](https://docs.victoriametrics.com/cluster-victoriametrics/#multitenancy) diff --git a/docs/anomaly-detection/components/writer.md b/docs/anomaly-detection/components/writer.md index fadf3d774..88e1a7661 100644 --- a/docs/anomaly-detection/components/writer.md +++ b/docs/anomaly-detection/components/writer.md @@ -60,11 +60,11 @@ Datasource URL address -`0:0` +`0:0`, `multitenant` (starting from [v1.16.2](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1162)) -For VictoriaMetrics Cluster version only, tenants are identified by accountID or accountID:projectID. See VictoriaMetrics Cluster [multitenancy docs](https://docs.victoriametrics.com/cluster-victoriametrics/#multitenancy) +For VictoriaMetrics Cluster version only, tenants are identified by `accountID` or `accountID:projectID`. Starting from [v1.16.2](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1162), `multitenant` [endpoint](https://docs.victoriametrics.com/cluster-victoriametrics/?highlight=writes#multitenancy-via-labels) is supported, to write data to multiple [tenants](https://docs.victoriametrics.com/cluster-victoriametrics/#multitenancy). See VictoriaMetrics Cluster [multitenancy docs](https://docs.victoriametrics.com/cluster-victoriametrics/#multitenancy) @@ -240,6 +240,40 @@ writer: password: "bar" ``` +### Multitenancy support + +### Multitenancy Support + +> This feature applies to the VictoriaMetrics Cluster version only. Tenants are identified by either `accountID` or `accountID:projectID`. Starting with [v1.16.2](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1162), the `multitenant` [endpoint](https://docs.victoriametrics.com/cluster-victoriametrics/?highlight=writes#multitenancy-via-labels) is supported for writing data across multiple [tenants](https://docs.victoriametrics.com/cluster-victoriametrics/#multitenancy). For more details, refer to the VictoriaMetrics Cluster [multitenancy documentation](https://docs.victoriametrics.com/cluster-victoriametrics/#multitenancy). + +Please note the different behaviors depending on the `tenant_id` value: + +1. **When `writer.tenant_id != 'multitenant'` (e.g., `"0:0"`) and `reader.tenant_id != 'multitenant'` (can be different but valid, like `"0:1")**: + - The `vm_account_id` label is **not created** in the reader, **not persisted** to the writer, and is **not expected** in the output. + - **Result**: Data is written successfully with no logs or errors. + +2. **When `writer.tenant_id = 'multitenant'` and `vm_project_id` is present in the label set**: + - This typically happens when `reader.tenant_id` is also set to `multitenant`, meaning the `vm_account_id` label is stored in the results returned from the queries. + - **Result**: Everything functions as expected. Data is written successfully with no logs or errors. + +3. **When `writer.tenant_id = 'multitenant'` but `vm_account_id` is missing** (e.g., due to aggregation in the reader or missing `keep_metric_names` in the query): + - **Result**: The data is still written to `"0:0"`, but a warning is raised: + ``` + The label `vm_account_id` was not found in the label set of {query_result.key}, + but tenant_id='multitenant' is set in writer. The data will be written to the default tenant 0:0. + Ensure that the query retains the necessary multi-tenant labels, + or adjust the aggregation settings to preserve `vm_account_id` key in the label set. + ``` + +4. **When `writer.tenant_id != 'multitenant'` (e.g., `"0:0"`) and `vm_account_id` exists in the label set**: + - **Result**: Writing is allowed, but a warning is raised: + ``` + The label set for the metric {query_result.key} contains multi-tenancy labels, + but the write endpoint is configured for single-tenant mode (tenant_id != 'multitenant'). + Either adjust the query in the reader to avoid multi-tenancy labels + or ensure that reserved key `vm_account_id` is not explicitly set for single-tenant environments. + ``` + ### Healthcheck metrics `VmWriter` exposes [several healthchecks metrics](https://docs.victoriametrics.com/anomaly-detection/components/monitoring/#writer-behaviour-metrics).