docs/vmanomaly - release 1.18.2 (#7533)

### Describe Your Changes

docs update for `vmanomaly` release 1.18.2

### 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-13 17:52:20 +01:00 committed by GitHub
parent 02e5fb81c5
commit 5696a087b8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 27 additions and 13 deletions

View file

@ -72,7 +72,7 @@ services:
restart: always restart: always
vmanomaly: vmanomaly:
container_name: vmanomaly container_name: vmanomaly
image: victoriametrics/vmanomaly:v1.18.1 image: victoriametrics/vmanomaly:v1.18.2
depends_on: depends_on:
- "victoriametrics" - "victoriametrics"
ports: ports:

View file

@ -11,6 +11,11 @@ aliases:
--- ---
Please find the changelog for VictoriaMetrics Anomaly Detection below. Please find the changelog for VictoriaMetrics Anomaly Detection below.
## v1.18.2
Released: 2024-11-13
- IMPROVEMENT: Enhanced the flexibility of the [`ProphetModel`](https://docs.victoriametrics.com/anomaly-detection/components/models/#prophet) for tz-aware data (`tz_aware = True`). The `tz_seasonalities` argument has been reformatted to align with the structure of the existing `seasonalities` argument. For more details, refer to the [model section here](https://docs.victoriametrics.com/anomaly-detection/components/models/#prophet). Additionally, tz-aware support for `ProphetModel` has been added to [`AutoTuned`](https://docs.victoriametrics.com/anomaly-detection/components/models/#autotuned) model wrapper. This feature is automatically enabled if the data is timezone-aware and its timezone is not set to the default ('UTC'), otherwise default timezone-free optimization flow will be used.
## v1.18.1 ## v1.18.1
Released: 2024-11-12 Released: 2024-11-12

View file

@ -159,7 +159,7 @@ services:
# ... # ...
vmanomaly: vmanomaly:
container_name: vmanomaly container_name: vmanomaly
image: victoriametrics/vmanomaly:v1.18.1 image: victoriametrics/vmanomaly:v1.18.2
# ... # ...
ports: ports:
- "8490:8490" - "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: To use *vmanomaly* you need to pull docker image:
```sh ```sh
docker pull victoriametrics/vmanomaly:v1.18.1 docker pull victoriametrics/vmanomaly:v1.18.2
``` ```
> Note: please check what is latest release in [CHANGELOG](https://docs.victoriametrics.com/anomaly-detection/changelog/) > 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.1
You can put a tag on it for your convenience: You can put a tag on it for your convenience:
```sh ```sh
docker image tag victoriametrics/vmanomaly:v1.18.1 vmanomaly docker image tag victoriametrics/vmanomaly:v1.18.2 vmanomaly
``` ```
Here is an example of how to run *vmanomaly* docker container with [license file](#licensing): 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: 1. Pull Docker image:
```sh ```sh
docker pull victoriametrics/vmanomaly:v1.18.1 docker pull victoriametrics/vmanomaly:v1.18.2
``` ```
2. (Optional step) tag the `vmanomaly` Docker image: 2. (Optional step) tag the `vmanomaly` Docker image:
```sh ```sh
docker image tag victoriametrics/vmanomaly:v1.18.1 vmanomaly docker image tag victoriametrics/vmanomaly:v1.18.2 vmanomaly
``` ```
3. Start the `vmanomaly` Docker container with a *license file*, use the command below. 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: services:
# ... # ...
vmanomaly: vmanomaly:
image: victoriametrics/vmanomaly:v1.18.1 image: victoriametrics/vmanomaly:v1.18.2
volumes: volumes:
$YOUR_LICENSE_FILE_PATH:/license $YOUR_LICENSE_FILE_PATH:/license
$YOUR_CONFIG_FILE_PATH:/config.yml $YOUR_CONFIG_FILE_PATH:/config.yml

View file

@ -456,12 +456,15 @@ models:
> **Note**: `ProphetModel` is a [univariate](#univariate-models), [non-rolling](#non-rolling-models), [offline](#offline-models) model. > **Note**: `ProphetModel` is a [univariate](#univariate-models), [non-rolling](#non-rolling-models), [offline](#offline-models) model.
> **Note**: Starting with [v1.18.2](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1182), the format for `tz_seasonalities` has been updated to enhance flexibility. Previously, it accepted a list of strings (e.g., `['hod', 'minute']`). Now, it follows the same structure as custom seasonalities defined in the `seasonalities` argument (e.g., `{"name": "hod", "fourier_order": 5, "mode": "additive"}`). This change is backward-compatible, so older configurations will be automatically converted to the new format using default values.
*Parameters specific for vmanomaly*: *Parameters specific for vmanomaly*:
* `class` (string) - model class name `"model.prophet.ProphetModel"` (or `prophet` starting from [v1.13.0](https://docs.victoriametrics.com/anomaly-detection/changelog/#1130) with class alias support) * `class` (string) - model class name `"model.prophet.ProphetModel"` (or `prophet` starting from [v1.13.0](https://docs.victoriametrics.com/anomaly-detection/changelog/#1130) with class alias support)
* `seasonalities` (list[dict], optional): Additional seasonal components to include in Prophet. See Prophets [`add_seasonality()`](https://facebook.github.io/prophet/docs/seasonality,_holiday_effects,_and_regressors.html#modeling-holidays-and-special-events:~:text=modeling%20the%20cycle-,Specifying,-Custom%20Seasonalities) documentation for details. * `seasonalities` (list[dict], optional): Additional seasonal components to include in Prophet. See Prophets [`add_seasonality()`](https://facebook.github.io/prophet/docs/seasonality,_holiday_effects,_and_regressors.html#modeling-holidays-and-special-events:~:text=modeling%20the%20cycle-,Specifying,-Custom%20Seasonalities) documentation for details.
- `tz_aware` (bool): (Available since [v1.18.0](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1180)) Enables handling of timezone-aware timestamps. Default is `False`. Should be used with `tz_seasonalities` and `tz_use_cyclical_encoding` parameters. - `tz_aware` (bool): (Available since [v1.18.0](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1180)) Enables handling of timezone-aware timestamps. Default is `False`. Should be used with `tz_seasonalities` and `tz_use_cyclical_encoding` parameters.
- `tz_seasonalities` (list[str]): (Available since [v1.18.0](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1180)) Specifies timezone-aware seasonal components. Requires `tz_aware=True`. Supported options include `minute`, `hod` (hour of the day), `dow` (day of the week), and `month` (month of the year). - `tz_seasonalities` (list[dict]): (Available since [v1.18.0](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1180)) Specifies timezone-aware seasonal components. Requires `tz_aware=True`. Supported options include `minute`, `hod` (hour of day), `dow` (day of week), and `month` (month of year). Starting with [v1.18.2](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1182), users can configure additional parameters for each seasonality, such as `fourier_order`, `prior_scale`, and `mode`. For more details, please refer to the **Timezone-unaware** configuration example below.
- `tz_use_cyclical_encoding` (bool): (Available since [v1.18.0](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1180)) If set to `True`, applies [cyclical encoding technique](https://www.kaggle.com/code/avanwyk/encoding-cyclical-features-for-deep-learning) to timezone-aware seasonalities. Should be used with `tz_aware=True` and `tz_seasonalities`. - `tz_use_cyclical_encoding` (bool): (Available since [v1.18.0](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1180)) If set to `True`, applies [cyclical encoding technique](https://www.kaggle.com/code/avanwyk/encoding-cyclical-features-for-deep-learning) to timezone-aware seasonalities. Should be used with `tz_aware=True` and `tz_seasonalities`.
> **Note**: Apart from standard [`vmanomaly` output](#vmanomaly-output), Prophet model can provide additional metrics. > **Note**: Apart from standard [`vmanomaly` output](#vmanomaly-output), Prophet model can provide additional metrics.
@ -489,6 +492,7 @@ models:
- name: 'hourly' - name: 'hourly'
period: 0.04166666666 period: 0.04166666666
fourier_order: 30 fourier_order: 30
prior_scale: 20
# inner model args (key-value pairs) accepted by # inner model args (key-value pairs) accepted by
# https://facebook.github.io/prophet/docs/quick_start.html#python-api # https://facebook.github.io/prophet/docs/quick_start.html#python-api
args: args:
@ -504,8 +508,13 @@ models:
class: 'prophet' # or 'model.prophet.ProphetModel' until v1.13.0 class: 'prophet' # or 'model.prophet.ProphetModel' until v1.13.0
provide_series: ['anomaly_score', 'yhat', 'yhat_lower', 'yhat_upper', 'trend'] provide_series: ['anomaly_score', 'yhat', 'yhat_lower', 'yhat_upper', 'trend']
tz_aware: True tz_aware: True
tz_seasonalities: ['hod', 'dow'] # intra-day + intra-week seasonality, no intra-year / sub-hour seasonality tz_use_cyclical_encoding: True
tz_use_cyclical_encoding: False tz_seasonalities: # intra-day + intra-week seasonality, no intra-year / sub-hour seasonality
- name: 'hod' # intra-day seasonality, hour of the day
fourier_order: 5 # keep it 3-8 based on intraday pattern complexity
prior_scale: 10
- name: 'dow' # intra-week seasonality, time of the week
fourier_order: 2 # keep it 2-4, as dependencies are learned separately for each weekday
# inner model args (key-value pairs) accepted by # inner model args (key-value pairs) accepted by
# https://facebook.github.io/prophet/docs/quick_start.html#python-api # https://facebook.github.io/prophet/docs/quick_start.html#python-api
args: args:
@ -984,7 +993,7 @@ monitoring:
Let's pull the docker image for `vmanomaly`: Let's pull the docker image for `vmanomaly`:
```sh ```sh
docker pull victoriametrics/vmanomaly:v1.18.1 docker pull victoriametrics/vmanomaly:v1.18.2
``` ```
Now we can run the docker container putting as volumes both config and model file: Now we can run the docker container putting as volumes both config and model file:
@ -998,7 +1007,7 @@ docker run -it \
-v $(PWD)/license:/license \ -v $(PWD)/license:/license \
-v $(PWD)/custom_model.py:/vmanomaly/model/custom.py \ -v $(PWD)/custom_model.py:/vmanomaly/model/custom.py \
-v $(PWD)/custom.yaml:/config.yaml \ -v $(PWD)/custom.yaml:/config.yaml \
victoriametrics/vmanomaly:v1.18.1 /config.yaml \ victoriametrics/vmanomaly:v1.18.2 /config.yaml \
--licenseFile=/license --licenseFile=/license
``` ```

View file

@ -385,7 +385,7 @@ services:
restart: always restart: always
vmanomaly: vmanomaly:
container_name: vmanomaly container_name: vmanomaly
image: victoriametrics/vmanomaly:v1.18.1 image: victoriametrics/vmanomaly:v1.18.2
depends_on: depends_on:
- "victoriametrics" - "victoriametrics"
ports: ports: