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/).
This commit is contained in:
Fred Navruzov 2024-11-12 09:20:29 +01:00 committed by GitHub
parent 7e72848ab3
commit 47b7487b5f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 54 additions and 20 deletions

View file

@ -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:

View file

@ -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

View file

@ -159,7 +159,7 @@ services:
# ...
vmanomaly:
container_name: vmanomaly
image: victoriametrics/vmanomaly:v1.18.0
image: victoriametrics/vmanomaly:v1.18.1
# ...
ports:
- "8490:8490"

View file

@ -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):

View file

@ -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

View file

@ -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
```

View file

@ -319,7 +319,7 @@ Label names [description](#labelnames)
<td>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.</td>
<td>
`query_key`, `scheduler_alias`, `preset`
`url`, `query_key`, `scheduler_alias`, `preset`
</td>
</tr>
<tr>
@ -331,7 +331,7 @@ Label names [description](#labelnames)
<td>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.</td>
<td>
`step`, `query_key`, `scheduler_alias`, `preset`
`step`, `url`, `query_key`, `scheduler_alias`, `preset`
</td>
</tr>
<tr>
@ -343,7 +343,7 @@ Label names [description](#labelnames)
<td>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.</td>
<td>
`query_key`, `scheduler_alias`, `preset`
`url`, `query_key`, `scheduler_alias`, `preset`
</td>
</tr>
<tr>
@ -355,7 +355,7 @@ Label names [description](#labelnames)
<td>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.</td>
<td>
`query_key`, `scheduler_alias`, `preset`
`url`, `query_key`, `scheduler_alias`, `preset`
</td>
</tr>
</tbody>
@ -530,7 +530,7 @@ Label names [description](#labelnames)
<td>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.</td>
<td>
`query_key`, `scheduler_alias`, `preset`
`url`, `query_key`, `scheduler_alias`, `preset`
</td>
</tr>
<tr>
@ -542,7 +542,7 @@ Label names [description](#labelnames)
<td>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.</td>
<td>
`query_key`, `scheduler_alias`, `preset`
`url`, `query_key`, `scheduler_alias`, `preset`
</td>
</tr>
<tr>
@ -552,7 +552,8 @@ Label names [description](#labelnames)
<td>`Counter`</td>
<td>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.</td>
<td>
`query_key`, `scheduler_alias`, `preset`
`url`, `query_key`, `scheduler_alias`, `preset`
</td>
</tr>
</tbody>

View file

@ -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 readers 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).
</td>
</tr>
<tr>
<td>
`data_range`
</td>
<td>
`["-inf", "inf"]`
</td>
<td>
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).
</td>
</tr>
</tbody>
</table>
@ -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'

View file

@ -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: