From 47b7487b5fe30c5969b264b678d4e32ceebd3b8e Mon Sep 17 00:00:00 2001 From: Fred Navruzov Date: Tue, 12 Nov 2024 09:20:29 +0100 Subject: [PATCH] docs: vmanomaly - release 1.18.1 (#7517) ### Describe Your Changes doc updates for vmanomaly v1.18.1 ### Checklist The following checks are **mandatory**: - [x] My change adheres [VictoriaMetrics contributing guidelines](https://docs.victoriametrics.com/contributing/). --- .../vmanomaly-integration/docker-compose.yml | 2 +- docs/anomaly-detection/CHANGELOG.md | 19 ++++++++++++++++++ docs/anomaly-detection/FAQ.md | 2 +- docs/anomaly-detection/Overview.md | 4 ++-- docs/anomaly-detection/QuickStart.md | 6 +++--- docs/anomaly-detection/components/models.md | 4 ++-- .../components/monitoring.md | 15 +++++++------- docs/anomaly-detection/components/reader.md | 20 ++++++++++++++++--- .../guides/guide-vmanomaly-vmalert/README.md | 2 +- 9 files changed, 54 insertions(+), 20 deletions(-) diff --git a/deployment/docker/vmanomaly/vmanomaly-integration/docker-compose.yml b/deployment/docker/vmanomaly/vmanomaly-integration/docker-compose.yml index 00571d8c9..e18303d87 100644 --- a/deployment/docker/vmanomaly/vmanomaly-integration/docker-compose.yml +++ b/deployment/docker/vmanomaly/vmanomaly-integration/docker-compose.yml @@ -72,7 +72,7 @@ services: restart: always vmanomaly: container_name: vmanomaly - image: victoriametrics/vmanomaly:v1.18.0 + image: victoriametrics/vmanomaly:v1.18.1 depends_on: - "victoriametrics" ports: diff --git a/docs/anomaly-detection/CHANGELOG.md b/docs/anomaly-detection/CHANGELOG.md index 76f335ccc..99fb20ccb 100644 --- a/docs/anomaly-detection/CHANGELOG.md +++ b/docs/anomaly-detection/CHANGELOG.md @@ -11,6 +11,25 @@ aliases: --- Please find the changelog for VictoriaMetrics Anomaly Detection below. +## v1.18.1 +Released: 2024-11-12 + +- IMPROVEMENT: Added a [reader-level](https://docs.victoriametrics.com/anomaly-detection/components/reader/#vm-reader) `data_range` argument, allowing users to define a default *valid* data range for all input queries in `queries`. Individual queries can still override this default with their own `data_range` if needed. +- IMPROVEMENT: Added the `url` label to enhance labelset consistency across [self-monitoring metrics](https://docs.victoriametrics.com/anomaly-detection/components/monitoring/#metrics-generated-by-vmanomaly) in both [reader](https://docs.victoriametrics.com/anomaly-detection/components/monitoring/#reader-behaviour-metrics) and [writer](https://docs.victoriametrics.com/anomaly-detection/components/monitoring/#writer-behaviour-metrics) components. Metrics affected: + - `vmanomaly_reader_received_bytes` + - `vmanomaly_reader_response_parsing_seconds` + - `vmanomaly_reader_timeseries_received` + - `vmanomaly_reader_datapoints_received` + - `vmanomaly_writer_request_serialize_seconds` + - `vmanomaly_writer_datapoints_sent` + - `vmanomaly_writer_timeseries_sent` + +- FIX: Resolved an issue where [rolling models](https://docs.victoriametrics.com/anomaly-detection/components/models/#rolling-models) incorrectly set their last seen `infer` timestamp during *first* `fit_infer` call, resulting in output being produced for *every datapoint* within the `fit_window` on its *first invocation*. +- FIX: Resolved an issue in multi-[scheduler](https://docs.victoriametrics.com/anomaly-detection/components/scheduler/) configurations where [self-monitoring metric](https://docs.victoriametrics.com/anomaly-detection/components/monitoring/#metrics-generated-by-vmanomaly) values were overwriting each other. +- FIX: Resolved an issue causing incorrect `query_key` label values in the `vmanomaly_model_datapoints_produced` [self-monitoring metric](https://docs.victoriametrics.com/anomaly-detection/components/monitoring/#models-behaviour-metrics) for [univariate models](https://docs.victoriametrics.com/anomaly-detection/components/models/#univariate-models). +- FIX: Resolved an issue that caused the `vmanomaly_model_runs` [self-monitoring metric](https://docs.victoriametrics.com/anomaly-detection/components/monitoring/#models-behaviour-metrics) to miss increments for [rolling models](https://docs.victoriametrics.com/anomaly-detection/components/models/#rolling-models). +- FIX: Aligned the calculations of `vmanomaly_model_datapoints_accepted` and `vmanomaly_model_datapoints_produced` [self-monitoring model metrics](https://docs.victoriametrics.com/anomaly-detection/components/monitoring/#models-behaviour-metrics) across all stages (`fit`, `infer`, and `fit_infer`) for consistency. + ## v1.18.0 Released: 2024-10-28 diff --git a/docs/anomaly-detection/FAQ.md b/docs/anomaly-detection/FAQ.md index 03614fe1e..24d816d4c 100644 --- a/docs/anomaly-detection/FAQ.md +++ b/docs/anomaly-detection/FAQ.md @@ -159,7 +159,7 @@ services: # ... vmanomaly: container_name: vmanomaly - image: victoriametrics/vmanomaly:v1.18.0 + image: victoriametrics/vmanomaly:v1.18.1 # ... ports: - "8490:8490" diff --git a/docs/anomaly-detection/Overview.md b/docs/anomaly-detection/Overview.md index 441aa60f3..abc07b91c 100644 --- a/docs/anomaly-detection/Overview.md +++ b/docs/anomaly-detection/Overview.md @@ -229,7 +229,7 @@ This will expose metrics at `http://0.0.0.0:8080/metrics` page. To use *vmanomaly* you need to pull docker image: ```sh -docker pull victoriametrics/vmanomaly:v1.18.0 +docker pull victoriametrics/vmanomaly:v1.18.1 ``` > Note: please check what is latest release in [CHANGELOG](https://docs.victoriametrics.com/anomaly-detection/changelog/) @@ -239,7 +239,7 @@ docker pull victoriametrics/vmanomaly:v1.18.0 You can put a tag on it for your convenience: ```sh -docker image tag victoriametrics/vmanomaly:v1.18.0 vmanomaly +docker image tag victoriametrics/vmanomaly:v1.18.1 vmanomaly ``` Here is an example of how to run *vmanomaly* docker container with [license file](#licensing): diff --git a/docs/anomaly-detection/QuickStart.md b/docs/anomaly-detection/QuickStart.md index b9fcf78dd..befa54f6a 100644 --- a/docs/anomaly-detection/QuickStart.md +++ b/docs/anomaly-detection/QuickStart.md @@ -58,13 +58,13 @@ Below are the steps to get `vmanomaly` up and running inside a Docker container: 1. Pull Docker image: ```sh -docker pull victoriametrics/vmanomaly:v1.18.0 +docker pull victoriametrics/vmanomaly:v1.18.1 ``` 2. (Optional step) tag the `vmanomaly` Docker image: ```sh -docker image tag victoriametrics/vmanomaly:v1.18.0 vmanomaly +docker image tag victoriametrics/vmanomaly:v1.18.1 vmanomaly ``` 3. Start the `vmanomaly` Docker container with a *license file*, use the command below. @@ -98,7 +98,7 @@ docker run -it --user 1000:1000 \ services: # ... vmanomaly: - image: victoriametrics/vmanomaly:v1.18.0 + image: victoriametrics/vmanomaly:v1.18.1 volumes: $YOUR_LICENSE_FILE_PATH:/license $YOUR_CONFIG_FILE_PATH:/config.yml diff --git a/docs/anomaly-detection/components/models.md b/docs/anomaly-detection/components/models.md index 4b6abb9e9..3a034d0d2 100644 --- a/docs/anomaly-detection/components/models.md +++ b/docs/anomaly-detection/components/models.md @@ -984,7 +984,7 @@ monitoring: Let's pull the docker image for `vmanomaly`: ```sh -docker pull victoriametrics/vmanomaly:v1.18.0 +docker pull victoriametrics/vmanomaly:v1.18.1 ``` Now we can run the docker container putting as volumes both config and model file: @@ -998,7 +998,7 @@ docker run -it \ -v $(PWD)/license:/license \ -v $(PWD)/custom_model.py:/vmanomaly/model/custom.py \ -v $(PWD)/custom.yaml:/config.yaml \ -victoriametrics/vmanomaly:v1.18.0 /config.yaml \ +victoriametrics/vmanomaly:v1.18.1 /config.yaml \ --licenseFile=/license ``` diff --git a/docs/anomaly-detection/components/monitoring.md b/docs/anomaly-detection/components/monitoring.md index 4a80cfd6b..1c79539b1 100644 --- a/docs/anomaly-detection/components/monitoring.md +++ b/docs/anomaly-detection/components/monitoring.md @@ -319,7 +319,7 @@ Label names [description](#labelnames) The total number of bytes received in responses for the `query_key` query within the specified scheduler `scheduler_alias`, in the `vmanomaly` service running in `preset` mode. -`query_key`, `scheduler_alias`, `preset` +`url`, `query_key`, `scheduler_alias`, `preset` @@ -331,7 +331,7 @@ Label names [description](#labelnames) The total time (in seconds) taken for data parsing at each `step` (json, dataframe) for the `query_key` query within the specified scheduler `scheduler_alias`, in the `vmanomaly` service running in `preset` mode. -`step`, `query_key`, `scheduler_alias`, `preset` +`step`, `url`, `query_key`, `scheduler_alias`, `preset` @@ -343,7 +343,7 @@ Label names [description](#labelnames) The total number of timeseries received from VictoriaMetrics for the `query_key` query within the specified scheduler `scheduler_alias`, in the `vmanomaly` service running in `preset` mode. -`query_key`, `scheduler_alias`, `preset` +`url`, `query_key`, `scheduler_alias`, `preset` @@ -355,7 +355,7 @@ Label names [description](#labelnames) The total number of datapoints received from VictoriaMetrics for the `query_key` query within the specified scheduler `scheduler_alias`, in the `vmanomaly` service running in `preset` mode. -`query_key`, `scheduler_alias`, `preset` +`url`, `query_key`, `scheduler_alias`, `preset` @@ -530,7 +530,7 @@ Label names [description](#labelnames) The total time (in seconds) taken for serializing data for the `query_key` query within the specified scheduler `scheduler_alias`, in the `vmanomaly` service running in `preset` mode. -`query_key`, `scheduler_alias`, `preset` +`url`, `query_key`, `scheduler_alias`, `preset` @@ -542,7 +542,7 @@ Label names [description](#labelnames) The total number of datapoints sent to VictoriaMetrics for the `query_key` query within the specified scheduler `scheduler_alias`, in the `vmanomaly` service running in `preset` mode. -`query_key`, `scheduler_alias`, `preset` +`url`, `query_key`, `scheduler_alias`, `preset` @@ -552,7 +552,8 @@ Label names [description](#labelnames) `Counter` The total number of timeseries sent to VictoriaMetrics for the `query_key` query within the specified scheduler `scheduler_alias`, in the `vmanomaly` service running in `preset` mode. -`query_key`, `scheduler_alias`, `preset` + +`url`, `query_key`, `scheduler_alias`, `preset` diff --git a/docs/anomaly-detection/components/reader.md b/docs/anomaly-detection/components/reader.md index ffb3a2b02..c79ecbf17 100644 --- a/docs/anomaly-detection/components/reader.md +++ b/docs/anomaly-detection/components/reader.md @@ -68,6 +68,8 @@ Starting from [v1.13.0](https://docs.victoriametrics.com/anomaly-detection/chang - **High anomaly scores** (>1) when the *data falls outside the expected range*, indicating a data constraint violation. - **Lowest anomaly scores** (=0) when the *model's predictions (`yhat`) fall outside the expected range*, meaning uncertain predictions. + > **Note**: if not set explicitly (or if older config style prior to [v1.13.0](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1130)) is used, then it is set to reader-level `data_range` arg (since [v1.18.1](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1181)) + - `max_points_per_query` (int): Introduced in [v1.17.0](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1170), optional arg overrides how `search.maxPointsPerTimeseries` flag (available since [v1.14.1](#v1141)) impacts `vmanomaly` on splitting long `fit_window` [queries](https://docs.victoriametrics.com/anomaly-detection/components/reader/?highlight=queries#vm-reader) into smaller sub-intervals. This helps users avoid hitting the `search.maxQueryDuration` limit for individual queries by distributing initial query across multiple subquery requests with minimal overhead. Set less than `search.maxPointsPerTimeseries` if hitting `maxQueryDuration` limits. If set on a query-level, it overrides the global `max_points_per_query` (reader-level). - `tz` (string): Introduced in [v1.18.0](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1180), this optional argument enables timezone specification per query, overriding the reader’s default `tz`. This setting helps to account for local timezone shifts, such as [DST](https://en.wikipedia.org/wiki/Daylight_saving_time), in models that are sensitive to seasonal variations (e.g., [`ProphetModel`](https://docs.victoriametrics.com/anomaly-detection/components/models/#prophet) or [`OnlineQuantileModel`](https://docs.victoriametrics.com/anomaly-detection/components/models/#online-seasonal-quantile)). @@ -323,6 +325,17 @@ Introduced in [v1.17.0](https://docs.victoriametrics.com/anomaly-detection/chang Introduced in [v1.18.0](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1180), this optional argument specifies the [IANA](https://nodatime.org/TimeZones) timezone to account for local shifts, like [DST](https://en.wikipedia.org/wiki/Daylight_saving_time), in models sensitive to seasonal patterns (e.g., [`ProphetModel`](https://docs.victoriametrics.com/anomaly-detection/components/models/#prophet) or [`OnlineQuantileModel`](https://docs.victoriametrics.com/anomaly-detection/components/models/#online-seasonal-quantile)). Defaults to `UTC` if not set and can be overridden on a [per-query basis](#per-query-parameters). + + +`data_range` + + +`["-inf", "inf"]` + + +Added in [v1.18.1](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1180), this optional argument allows defining **valid** data ranges for input of all the queries in `queries`. Defaults to `["-inf", "inf"]` if not set and can be overridden on a [per-query basis](#per-query-parameters). + + @@ -334,12 +347,13 @@ reader: datasource_url: "https://play.victoriametrics.com/" tenant_id: "0:0" tz: 'America/New_York' + data_range: [1, 'inf'] # reader-level queries: ingestion_rate: expr: 'sum(rate(vm_rows_inserted_total[5m])) by (type) > 0' - step: '1m' # can override global `sampling_period` on per-query level - data_range: [0, 'inf'] - tz: 'Australia/Sydney' # if set, overrides reader-wise tz + step: '1m' # can override reader-level `sampling_period` on per-query level + data_range: [0, 'inf'] # if set, overrides reader-level data_range + tz: 'Australia/Sydney' # if set, overrides reader-level tz sampling_period: '1m' query_from_last_seen_timestamp: True # false by default latency_offset: '1ms' diff --git a/docs/anomaly-detection/guides/guide-vmanomaly-vmalert/README.md b/docs/anomaly-detection/guides/guide-vmanomaly-vmalert/README.md index fb47b7795..efac3f0fe 100644 --- a/docs/anomaly-detection/guides/guide-vmanomaly-vmalert/README.md +++ b/docs/anomaly-detection/guides/guide-vmanomaly-vmalert/README.md @@ -385,7 +385,7 @@ services: restart: always vmanomaly: container_name: vmanomaly - image: victoriametrics/vmanomaly:v1.18.0 + image: victoriametrics/vmanomaly:v1.18.1 depends_on: - "victoriametrics" ports: