diff --git a/deployment/docker/vmanomaly/vmanomaly-integration/docker-compose.yml b/deployment/docker/vmanomaly/vmanomaly-integration/docker-compose.yml index 5db102f8d..646f0347b 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.6 + image: victoriametrics/vmanomaly:v1.18.7 depends_on: - "victoriametrics" ports: diff --git a/docs/anomaly-detection/CHANGELOG.md b/docs/anomaly-detection/CHANGELOG.md index 64f4151e6..e145636ea 100644 --- a/docs/anomaly-detection/CHANGELOG.md +++ b/docs/anomaly-detection/CHANGELOG.md @@ -11,15 +11,26 @@ aliases: --- Please find the changelog for VictoriaMetrics Anomaly Detection below. +## v1.18.7 +Released: 2024-12-02 + +- IMPROVEMENT: Introduced a new `push_frequency` parameter for the [monitoring.push component](https://docs.victoriametrics.com/anomaly-detection/components/monitoring/#push-config-parameters), with a default value of 15m. This enhancement ensures better alignment with pull-based monitoring behavior and improves [self-monitoring experience](https://docs.victoriametrics.com/anomaly-detection/self-monitoring) of `vmanomaly` in setups with infrequent schedules (e.g., rare `fit_every` or `infer_every` intervals) to deal with data staleness. + +- FIX: Fixed a bug, introduced in [v1.18.5](#v1185), that prevented the [monitoring.push component](https://docs.victoriametrics.com/anomaly-detection/components/monitoring/#push-config-parameters) from properly instantiating and pushing [self-monitoring metrics](https://docs.victoriametrics.com/anomaly-detection/components/monitoring/#metrics-generated-by-vmanomaly). + ## v1.18.6 Released: 2024-12-01 +> **Note**: Release [v1.18.5](#v1185) contained an issue that prevented the [monitoring.push component](https://docs.victoriametrics.com/anomaly-detection/components/monitoring/#push-config-parameters) from properly instantiating and pushing [self-monitoring metrics](https://docs.victoriametrics.com/anomaly-detection/components/monitoring/#metrics-generated-by-vmanomaly). This issue has been resolved in patch [v1.18.7](#v1187), please update to apply the fix. + - FIX: Assure proper validation of [BacktestingScheduler](https://docs.victoriametrics.com/anomaly-detection/components/scheduler/#backtesting-scheduler) arguments, if specified in ISO-8601 format, preventing service crashes due to validation errors. ## v1.18.5 Released: 2024-11-27 +> **Note**: This release contained an issue that prevented the [monitoring.push component](https://docs.victoriametrics.com/anomaly-detection/components/monitoring/#push-config-parameters) from properly instantiating and pushing [self-monitoring metrics](https://docs.victoriametrics.com/anomaly-detection/components/monitoring/#metrics-generated-by-vmanomaly). This issue has been resolved in patch [v1.18.7](#v1187), please update to apply the fix. + - IMPROVEMENT: Introduced the ability to run `vmanomaly` using a configuration directory. This enhancement allows users to recursively merge multiple full configuration files (previously limited to merging specific sections, such as `reader`) and execute a single instance of the service with the combined configuration. - IMPROVEMENT: Added a new utility, `config_splitter.py`, to streamline the process of splitting a single configuration file into multiple standalone configurations. The configurations are split by specified entities like `schedulers`, `models`, `queries` or `extra_filters`. The split configurations can be saved to a designated directory. It simplifies scaling `vmanomaly` and enhances user experience by automating the process of separating config files so they can be run on separate instances of vmanomaly. For more details, refer to [this section](https://docs.victoriametrics.com/anomaly-detection/faq/#splitting-the-config). - IMPROVEMENT: Introduced the ability to configure the [`PeriodicScheduler`](https://docs.victoriametrics.com/anomaly-detection/components/scheduler/?highlight=start_from#periodic-scheduler) to start at a specific time using the `start_from` and `tz` parameters. The `start_from` parameter accepts either `HH:MM` or [ISO 8601 formats](https://en.wikipedia.org/wiki/ISO_8601), with `tz` defaulting to `UTC`. If `start_from` is in the past, the next valid start time is automatically calculated based on the `fit_every` interval. diff --git a/docs/anomaly-detection/FAQ.md b/docs/anomaly-detection/FAQ.md index faf41bc7a..7e215e2f2 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.6 + image: victoriametrics/vmanomaly:v1.18.7 # ... ports: - "8490:8490" @@ -365,7 +365,7 @@ options: Here’s an example of using the config splitter to divide configurations based on the `extra_filters` argument from the reader section: ```sh -docker pull victoriametrics/vmanomaly:v1.18.6 && docker image tag victoriametrics/vmanomaly:v1.18.6 vmanomaly +docker pull victoriametrics/vmanomaly:v1.18.7 && docker image tag victoriametrics/vmanomaly:v1.18.7 vmanomaly ``` ```sh diff --git a/docs/anomaly-detection/Overview.md b/docs/anomaly-detection/Overview.md index 5ab0f33fb..7348265fc 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.6 +docker pull victoriametrics/vmanomaly:v1.18.7 ``` > 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.6 You can put a tag on it for your convenience: ```sh -docker image tag victoriametrics/vmanomaly:v1.18.6 vmanomaly +docker image tag victoriametrics/vmanomaly:v1.18.7 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 bb42c40f3..49192a46f 100644 --- a/docs/anomaly-detection/QuickStart.md +++ b/docs/anomaly-detection/QuickStart.md @@ -63,13 +63,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.6 +docker pull victoriametrics/vmanomaly:v1.18.7 ``` 2. (Optional step) tag the `vmanomaly` Docker image: ```sh -docker image tag victoriametrics/vmanomaly:v1.18.6 vmanomaly +docker image tag victoriametrics/vmanomaly:v1.18.7 vmanomaly ``` 3. Start the `vmanomaly` Docker container with a *license file*, use the command below. @@ -103,7 +103,7 @@ docker run -it --user 1000:1000 \ services: # ... vmanomaly: - image: victoriametrics/vmanomaly:v1.18.6 + image: victoriametrics/vmanomaly:v1.18.7 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 1f65e97ae..90c098818 100644 --- a/docs/anomaly-detection/components/models.md +++ b/docs/anomaly-detection/components/models.md @@ -993,7 +993,7 @@ monitoring: Let's pull the docker image for `vmanomaly`: ```sh -docker pull victoriametrics/vmanomaly:v1.18.6 +docker pull victoriametrics/vmanomaly:v1.18.7 ``` Now we can run the docker container putting as volumes both config and model file: @@ -1007,7 +1007,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.6 /config.yaml \ +victoriametrics/vmanomaly:v1.18.7 /config.yaml \ --licenseFile=/license ``` diff --git a/docs/anomaly-detection/components/monitoring.md b/docs/anomaly-detection/components/monitoring.md index e5978b3e9..1252315ab 100644 --- a/docs/anomaly-detection/components/monitoring.md +++ b/docs/anomaly-detection/components/monitoring.md @@ -59,6 +59,10 @@ There are 2 models to monitor VictoriaMetrics Anomaly Detection behavior - [push ## Push Config parameters +By default, metrics are pushed only after the completion of specific stages, e.g., `fit`, `infer`, or `fit_infer` (for each [scheduler](https://docs.victoriametrics.com/anomaly-detection/components/scheduler/) if using a multi-scheduler configuration). + +Starting with [v1.18.7](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1187), the `push_frequency` parameter (default value: `15m`) can be configured to initiate *additional* periodic metric pushes at consistent intervals. This enhances the self-monitoring capabilities of `vmanomaly` by aligning more closely with pull-based monitoring behavior, especially in setups with infrequent schedules (e.g., long `fit_every` or `infer_every` intervals in [PeriodicScheduler](https://docs.victoriametrics.com/anomaly-detection/components/scheduler/#periodic-scheduler)), mitigating data staleness. To disable scheduled metric pushes, set the `push_frequency` parameter to an empty string in the configuration file, as demonstrated in the examples below. +
+ `bearer_token` | + `token` | @@ -133,9 +139,11 @@ Token is passed in the standard format with header: `Authorization: bearer {toke |
+ `bearer_token_file` | + `path_to_file` | @@ -144,9 +152,11 @@ Path to a file, which contains token, that is passed in the standard format with |
+ `verify_tls` | + `false` | @@ -157,9 +167,11 @@ If a path to a CA bundle file (like `ca.crt`), it will verify the certificate us |
+ `tls_cert_file` | + `path/to/cert.crt` | @@ -168,9 +180,11 @@ Path to a file with the client certificate, i.e. `client.crt`. Available since [ |
+ `tls_key_file` | + `path/to/key.crt` | @@ -191,6 +205,17 @@ Path to a file with the client certificate key, i.e. `client.key`. Available sin |
+`push_frequency` + | ++ +`"15m"` + | +Frequency for scheduled pushing of metrics, e.g., '30m'. Suggested to be less than the staleness interval `-search.maxStalenessInterval` Set to empty string to disable *scheduled* pushing. Available since [v1.18.7](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1187) | +
+ `extra_labels` | @@ -213,6 +238,7 @@ monitoring: password: "PASSWORD" verify_tls: False timeout: "5s" + push_frequency: "15m" # set to "" to disable scheduled pushes and leave only fit/infer based extra_labels: job: "vmanomaly-push" test: "test-1" diff --git a/docs/anomaly-detection/components/reader.md b/docs/anomaly-detection/components/reader.md index c79ecbf17..57882594b 100644 --- a/docs/anomaly-detection/components/reader.md +++ b/docs/anomaly-detection/components/reader.md @@ -116,6 +116,7 @@ Name of the class needed to enable reading from VictoriaMetrics or Prometheus. V | |
+ `queries` | @@ -127,6 +128,7 @@ See [per-query config section](#per-query-parameters) above | |
+ `datasource_url` | @@ -138,9 +140,11 @@ Datasource URL address | |
+ `tenant_id` | + `0:0`, `multitenant` | @@ -149,6 +153,7 @@ For VictoriaMetrics Cluster version only, tenants are identified by `accountID` |
+ `sampling_period` | @@ -160,6 +165,7 @@ Frequency of the points returned. Will be converted to `/query_range?step=%s` pa | |
+ `query_range_path` | @@ -171,9 +177,11 @@ Performs PromQL/MetricsQL range query | |
+ `health_path` | + `health` | @@ -182,9 +190,11 @@ Absolute or relative URL address where to check availability of the datasource. |
+ `user` | + `USERNAME` | @@ -193,9 +203,11 @@ BasicAuth username |
+ `password` | + `PASSWORD` | @@ -204,9 +216,11 @@ BasicAuth password |
+ `timeout` | + `30s` | @@ -215,9 +229,11 @@ Timeout for the requests, passed as a string |
+ `verify_tls` | + `false` | @@ -228,9 +244,11 @@ If a path to a CA bundle file (like `ca.crt`), it will verify the certificate us |
+ `tls_cert_file` | + `path/to/cert.crt` | @@ -239,9 +257,11 @@ Path to a file with the client certificate, i.e. `client.crt`. Available since [ |
+ `tls_key_file` | + `path/to/key.crt` | @@ -250,9 +270,11 @@ Path to a file with the client certificate key, i.e. `client.key`. Available sin |
+ `bearer_token` | + `token` | @@ -261,9 +283,11 @@ Token is passed in the standard format with header: `Authorization: bearer {toke |
+ `bearer_token_file` | + `path_to_file` | @@ -272,9 +296,11 @@ Path to a file, which contains token, that is passed in the standard format with |
+ `extra_filters` | + `[]` | @@ -283,9 +309,11 @@ List of strings with series selector. See: [Prometheus querying API enhancements |
+ `query_from_last_seen_timestamp` | + `False` | @@ -294,9 +322,11 @@ If True, then query will be performed from the last seen timestamp for a given s |
+ `latency_offset` | + `1ms` | @@ -305,9 +335,11 @@ Introduced in [v1.15.1](https://docs.victoriametrics.com/anomaly-detection/chang |
+ `max_points_per_query` | + `10000` | @@ -316,9 +348,11 @@ Introduced in [v1.17.0](https://docs.victoriametrics.com/anomaly-detection/chang |
+ `tz` | + `UTC` | @@ -327,9 +361,11 @@ Introduced in [v1.18.0](https://docs.victoriametrics.com/anomaly-detection/chang |
+ `data_range` | + `["-inf", "inf"]` | diff --git a/docs/anomaly-detection/components/writer.md b/docs/anomaly-detection/components/writer.md index a72e8cd65..e9bfc5d4c 100644 --- a/docs/anomaly-detection/components/writer.md +++ b/docs/anomaly-detection/components/writer.md @@ -185,9 +185,11 @@ Timeout for the requests, passed as a string |
+ `verify_tls` | + `false` | @@ -198,9 +200,11 @@ If a path to a CA bundle file (like `ca.crt`), it will verify the certificate us |
+ `tls_cert_file` | + `path/to/cert.crt` | @@ -209,9 +213,11 @@ Path to a file with the client certificate, i.e. `client.crt`. Available since [ |
+ `tls_key_file` | + `path/to/key.crt` | @@ -220,9 +226,11 @@ Path to a file with the client certificate key, i.e. `client.key`. Available sin |
+ `bearer_token` | + `token` | @@ -231,9 +239,11 @@ Token is passed in the standard format with header: `Authorization: bearer {toke |
+ `bearer_token_file` | + `path_to_file` | diff --git a/docs/anomaly-detection/guides/guide-vmanomaly-vmalert/README.md b/docs/anomaly-detection/guides/guide-vmanomaly-vmalert/README.md index 01b74ddf5..4f71dbf15 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.6 + image: victoriametrics/vmanomaly:v1.18.7 depends_on: - "victoriametrics" ports: |