Indicator | @@ -111,34 +111,94 @@ The produced anomaly scores will have a label `for` containing the name of corre|||||
---|---|---|---|---|---|
page_faults |
- node_vmstat_pgmajfault |
- Number of major faults that have occurred since the last update. Major faults occur when a process tries to access a page in memory that is not currently mapped in the process's address space, and it requires loading data from the disk. | ++ +`page_faults` + | ++ +`node_vmstat_pgmajfault` + | ++ +Number of major faults that have occurred since the last update. Major faults occur when a process tries to access a page in memory that is not currently mapped in the process's address space, and it requires loading data from the disk. + |
context_switch |
- node_context_switches_total |
- This metric represents the total number of context switches across all CPUs. | ++ +`context_switch` + | ++ +`node_context_switches_total` + | ++ +This metric represents the total number of context switches across all CPUs. + |
cpu_seconds_total |
- node_cpu_seconds_total |
- Total amount of CPU time consumed by the system in seconds by CPU processing mode (e.g., user, system, idle). | ++ +`cpu_seconds_total` + | ++ +`node_cpu_seconds_total` + | ++ +Total amount of CPU time consumed by the system in seconds by CPU processing mode (e.g., user, system, idle). + |
host_network_receive_errors & host_network_transmit_errors |
- node_network_receive_errs_total , node_network_receive_packets_total , node_network_transmit_errs_total , node_network_transmit_packets_total
- | Total number of errors encountered while receiving/transmitting packets on the network interfaces of a node. | ++ +`host_network_receive_errors` & `host_network_transmit_errors` + | ++ +`node_network_receive_errs_total`, +`node_network_receive_packets_total`, +`node_network_transmit_errs_total`, +`node_network_transmit_packets_total` + | + +Total number of errors encountered while receiving/transmitting packets on the network interfaces of a node. + |
receive_bytes & transmit_bytes |
- node_network_receive_bytes_total , node_network_transmit_bytes_total |
- Total number of bytes received/transmitted on network interfaces of a node. | ++ +`receive_bytes` & `transmit_bytes` + | ++ +`node_network_receive_bytes_total`, +`node_network_transmit_bytes_total` + | ++ +Total number of bytes received/transmitted on network interfaces of a node. + |
read_latency & write_latency |
- node_disk_read_time_seconds_total , node_disk_reads_completed_total , node_disk_write_time_seconds_total , node_disk_writes_completed_total |
- Disk latency. The total read/write time spent in seconds. / The total number of reads/writes completed successfully. | ++ +`read_latency` & `write_latency` + | ++ +`node_disk_read_time_seconds_total`, +`node_disk_reads_completed_total`, +`node_disk_write_time_seconds_total`, +`node_disk_writes_completed_total` + | ++ +Disk latency. The total read/write time spent in seconds. / The total number of reads/writes completed successfully. + |
Parameter | @@ -27,13 +24,25 @@ There are 2 models to monitor VictoriaMetrics Anomaly Detection behavior - [push|||||||
---|---|---|---|---|---|---|---|
addr |
- "0.0.0.0" |
+ + +`addr` + | ++ +`"0.0.0.0"` + | Server IP Address | |||
port |
- 8080 |
+ + +`port` + | ++ +`8080` + | Port |
Parameter | @@ -51,42 +60,84 @@ There are 2 models to monitor VictoriaMetrics Anomaly Detection behavior - [push|||||||
---|---|---|---|---|---|---|---|
url |
+ + +`url` + | - | Link where to push metrics to. Example: "http://localhost:8480/" |
+ + +Link where to push metrics to. Example: `"http://localhost:8480/"` + | |||
tenant_id |
+ + +`tenant_id` + | - | Tenant ID for cluster version. Example: "0:0" |
+ + +Tenant ID for cluster version. Example: `"0:0"` + | |||
health_path |
- "health" |
- Deprecated since v1.8.0. Absolute, to override /health path |
+ + +`health_path` + | ++ +`"health"` + | ++ +Deprecated since [v1.8.0](../CHANGELOG.md#v180). Absolute, to override `/health` path + | ||
user |
+ + +`user` + | BasicAuth username | |||||
password |
+ + +`password` + | BasicAuth password | |||||
verify_tls |
- False |
+ + +`verify_tls` + | ++ +`False` + | Allows disabling TLS verification of the remote certificate. | |||
timeout |
- "5s" |
+ + +`timeout` + | ++ +`"5s"` + | Stop waiting for a response after a given number of seconds. | |||
extra_labels |
+ + +`extra_labels` + | Section for custom labels specified by user. |
Metric | @@ -124,7 +175,10 @@ monitoring:|||||||
---|---|---|---|---|---|---|---|
vmanomaly_start_time_seconds |
+ + +`vmanomaly_start_time_seconds` + | Gauge | vmanomaly start time in UNIX time |
Metric | @@ -147,40 +201,76 @@ Label names [description](#labelnames)|||||
---|---|---|---|---|---|
vmanomaly_model_runs |
+ + +`vmanomaly_model_runs` + | Counter | How many times models ran (per model) | -stage, query_key, model_alias, scheduler_alias, preset |
+ + +`stage, query_key, model_alias, scheduler_alias, preset` + |
vmanomaly_model_run_duration_seconds |
+ + +`vmanomaly_model_run_duration_seconds` + | Summary | How much time (in seconds) model invocations took | -stage, query_key, model_alias, scheduler_alias, preset |
+ + +`stage, query_key, model_alias, scheduler_alias, preset` + |
vmanomaly_model_datapoints_accepted |
+ + +`vmanomaly_model_datapoints_accepted` + | Counter | How many datapoints did models accept | -stage, query_key, model_alias, scheduler_alias, preset |
+ + +`stage, query_key, model_alias, scheduler_alias, preset` + |
vmanomaly_model_datapoints_produced |
+ + +`vmanomaly_model_datapoints_produced` + | Counter | How many datapoints were generated by models | -stage, query_key, model_alias, scheduler_alias, preset |
+ + +`stage, query_key, model_alias, scheduler_alias, preset` + |
vmanomaly_models_active |
+ + +`vmanomaly_models_active` + | Gauge | How many models are currently inferring | -query_key, model_alias, scheduler_alias, preset |
+ + +`query_key, model_alias, scheduler_alias, preset` + |
vmanomaly_model_runs_skipped |
+ + +`vmanomaly_model_runs_skipped` + | Counter | How many times a run was skipped (per model) | -stage, query_key, model_alias, scheduler_alias, preset |
+ + +`stage, query_key, model_alias, scheduler_alias, preset` + |
Metric | @@ -199,40 +289,76 @@ Label names [description](#labelnames)|||||
---|---|---|---|---|---|
vmanomaly_writer_request_duration_seconds |
+ + +`vmanomaly_writer_request_duration_seconds` + | Summary | How much time (in seconds) did requests to VictoriaMetrics take | -url, query_key |
+ + +`url, query_key` + |
vmanomaly_writer_response_count |
+ + +`vmanomaly_writer_response_count` + | Counter | Response code counts we got from VictoriaMetrics | -url, query_key, code |
+ + +`url, query_key, code` + |
vmanomaly_writer_sent_bytes |
+ + +`vmanomaly_writer_sent_bytes` + | Counter | How much bytes were sent to VictoriaMetrics | -url, query_key |
+ + +`url, query_key` + |
vmanomaly_writer_request_serialize_seconds |
+ + +`vmanomaly_writer_request_serialize_seconds` + | Summary | How much time (in seconds) did serializing take | -query_key |
+ + +`query_key` + |
vmanomaly_writer_datapoints_sent |
+ + +`vmanomaly_writer_datapoints_sent` + | Counter | How many datapoints were sent to VictoriaMetrics | -query_key |
+ + +`query_key` + |
vmanomaly_writer_timeseries_sent |
+ + +`vmanomaly_writer_timeseries_sent` + | Counter | How many timeseries were sent to VictoriaMetrics | -query_key |
+ + +`query_key` + |
Metric | @@ -251,57 +377,87 @@ Label names [description](#labelnames)|||||
---|---|---|---|---|---|
vmanomaly_reader_request_duration_seconds |
+ + +`vmanomaly_reader_request_duration_seconds` + | Summary | How much time (in seconds) did queries to VictoriaMetrics take | -url, query_key |
+ + +`url, query_key` + |
vmanomaly_reader_response_count |
+ + +`vmanomaly_reader_response_count` + | Counter | Response code counts we got from VictoriaMetrics | -url, query_key, code |
+ + +`url, query_key, code` + |
vmanomaly_reader_received_bytes |
+ + +`vmanomaly_reader_received_bytes` + | Counter | How much bytes were received in responses | -query_key |
+ + +`query_key` + |
vmanomaly_reader_response_parsing_seconds |
+ + +`vmanomaly_reader_response_parsing_seconds` + | Summary | How much time (in seconds) did parsing take for each step | -step |
+ + +`step` + |
vmanomaly_reader_timeseries_received |
+ + +`vmanomaly_reader_timeseries_received` + | Counter | How many timeseries were received from VictoriaMetrics | -query_key |
+ + +`query_key` + |
vmanomaly_reader_datapoints_received |
+ + +`vmanomaly_reader_datapoints_received` + | Counter | How many rows were received from VictoriaMetrics | -query_key |
+ + +`query_key` + |
stage
- stage of model - 'fit', 'infer' or 'fit_infer' for models that do it simultaneously, see [model types](/anomaly-detection/components/models/#model-types).
-query_key
- query alias from [`reader`](/anomaly-detection/components/reader.html) config section.
-
-model_alias
- model alias from [`models`](/anomaly-detection/components/models.html) config section. **Introduced in [v1.10.0](/anomaly-detection/changelog/#v1100).**
-
-scheduler_alias
- scheduler alias from [`schedulers`](anomaly-detection/components/scheduler/) config section. **Introduced in [v1.11.0](/anomaly-detection/changelog/#v1110).**
-
-preset
- preset alias for forthcoming `preset` section compatibility. **Introduced in [v1.12.0](/anomaly-detection/changelog/#v1120).**
-
-url
- writer or reader url endpoint.
-
-code
- response status code or `connection_error`, `timeout`.
-
-step
- json or dataframe reading step.
+* `stage` - stage of model - 'fit', 'infer' or 'fit_infer' for models that do it simultaneously, see [model types](./models/#model-types).
+* `query_key` - query alias from [`reader`](./reader.md) config section.
+* `model_alias` - model alias from [`models`](./models.md) config section. **Introduced in [v1.10.0](../CHANGELOG.md#v1100).**
+* `scheduler_alias` - scheduler alias from [`schedulers`](./scheduler.md) config section. **Introduced in [v1.11.0](../CHANGELOG.md#v1110).**
+* `preset` - preset alias for forthcoming `preset` section compatibility. **Introduced in [v1.12.0](../CHANGELOG.md#v1120).**
+* `url` - writer or reader url endpoint.
+* `code` - response status code or `connection_error`, `timeout`.
+* `step` - json or dataframe reading step.
diff --git a/docs/anomaly-detection/components/reader.md b/docs/anomaly-detection/components/reader.md
index 666d46b0b..4991eab92 100644
--- a/docs/anomaly-detection/components/reader.md
+++ b/docs/anomaly-detection/components/reader.md
@@ -9,14 +9,11 @@ menu:
aliases:
- /anomaly-detection/components/reader.html
---
-
-# Reader
-
-VictoriaMetrics Anomaly Detection (`vmanomaly`) primarily uses [VmReader](#vm-reader) to ingest data. This reader focuses on fetching time-series data directly from VictoriaMetrics with the help of powerful [MetricsQL](https://docs.victoriametrics.com/metricsql/) expressions for aggregating, filtering and grouping your data, ensuring seamless integration and efficient data handling.
+VictoriaMetrics Anomaly Detection (`vmanomaly`) primarily uses [VmReader](#vm-reader) to ingest data. This reader focuses on fetching time-series data directly from VictoriaMetrics with the help of powerful [MetricsQL](../../MetricsQL.md) expressions for aggregating, filtering and grouping your data, ensuring seamless integration and efficient data handling.
Future updates will introduce additional readers, expanding the range of data sources `vmanomaly` can work with.
@@ -25,7 +22,7 @@ Future updates will introduce additional readers, expanding the range of data so
### Config parameters
-Parameter | @@ -35,69 +32,186 @@ Future updates will introduce additional readers, expanding the range of data so|||||
---|---|---|---|---|---|
class |
- "reader.vm.VmReader" (or "vm" starting from v1.13.0) |
- Name of the class needed to enable reading from VictoriaMetrics or Prometheus. VmReader is the default option, if not specified. | ++ +`class` + | ++ +`reader.vm.VmReader` (or `vm` starting from [v1.13.0](../CHANGELOG.md#v1130)) + | ++ +Name of the class needed to enable reading from VictoriaMetrics or Prometheus. VmReader is the default option, if not specified. + |
queries |
- "ingestion_rate: 'sum(rate(vm_rows_inserted_total[5m])) by (type) > 0'" |
- PromQL/MetricsQL query to select data in format: QUERY_ALIAS: "QUERY" . As accepted by "/query_range?query=%s" . |
+ + +`queries` + | ++ +`ingestion_rate: 'sum(rate(vm_rows_inserted_total[5m])) by (type) > 0'` + | ++ +PromQL/MetricsQL query to select data in format: `QUERY_ALIAS: "QUERY"`. As accepted by `/query_range?query=%s`. + |
datasource_url |
- "http://localhost:8481/" |
- Datasource URL address | ++ +`datasource_url` + | ++ +`http://localhost:8481/` + | ++ +Datasource URL address + |
tenant_id |
- "0:0" |
- For VictoriaMetrics Cluster version only, tenants are identified by accountID or accountID:projectID. See VictoriaMetrics Cluster multitenancy docs | ++ +`tenant_id` + | ++ +`0:0` + | ++ +For VictoriaMetrics Cluster version only, tenants are identified by accountID or accountID:projectID. See VictoriaMetrics Cluster [multitenancy docs](../../Cluster-VictoriaMetrics.md#multitenancy) + |
sampling_period |
- "1h" |
- Frequency of the points returned. Will be converted to "/query_range?step=%s" param (in seconds). Required since v1.9.0. |
+ + +`sampling_period` + | ++ +`1h` + | ++ +Frequency of the points returned. Will be converted to `/query_range?step=%s` param (in seconds). **Required** since [v1.9.0](../CHANGELOG.md#v190). + |
query_range_path |
- "api/v1/query_range" |
- Performs PromQL/MetricsQL range query. Default "api/v1/query_range" |
+ + +`query_range_path` + | ++ +`/api/v1/query_range` + | ++ +Performs PromQL/MetricsQL range query + |
health_path |
- "health" |
- Absolute or relative URL address where to check availability of the datasource. Default is "health" . |
+ + +`health_path` + | ++ +`health` + | ++ +Absolute or relative URL address where to check availability of the datasource. + |
user |
- "USERNAME" |
- BasicAuth username | ++ +`user` + | ++ +`USERNAME` + | ++ +BasicAuth username + |
password |
- "PASSWORD" |
- BasicAuth password | ++ +`password` + | ++ +`PASSWORD` + | ++ +BasicAuth password + |
timeout |
- "30s" |
- Timeout for the requests, passed as a string. Defaults to "30s" | ++ +`timeout` + | ++ +`30s` + | ++ +Timeout for the requests, passed as a string + |
verify_tls |
- "false" |
- Allows disabling TLS verification of the remote certificate. | ++ +`verify_tls` + | ++ +`false` + | ++ +Allows disabling TLS verification of the remote certificate. + |
bearer_token |
- "token" |
- Token is passed in the standard format with header: "Authorization: bearer {token}" | ++ +`bearer_token` + | ++ +`token` + | ++ +Token is passed in the standard format with header: `Authorization: bearer {token}` + |
extra_filters |
- "[]" |
- List of strings with series selector. See: Prometheus querying API enhancements | ++ +`extra_filters` + | ++ +`[]` + | ++ +List of strings with series selector. See: [Prometheus querying API enhancements](../../README.md##prometheus-querying-api-enhancements) + |
@@ -107,7 +104,7 @@ Examples: `"50s"`, `"4m"`, `"3h"`, `"2d"`, `"1w"`. |
---|
Parameter | @@ -118,22 +115,43 @@ Examples: `"50s"`, `"4m"`, `"3h"`, `"2d"`, `"1w"`.||||||
---|---|---|---|---|---|---|
fit_window |
+ + +`fit_window` + | str | -"14d" |
+ + +`"14d"` + | What time range to use for training the models. Must be at least 1 second. | |
infer_every |
+ + +`infer_every` + | str | -"1m" |
+ + +`"1m"` + | How often a model will write its conclusions on newly added data. Must be at least 1 second. | |
fit_every |
+ + +`fit_every` + | str, Optional | -"1h" |
- How often to completely retrain the models. If missing value of infer_every is used and retrain on every inference run. |
+ + +`"1h"` + | ++ +How often to completely retrain the models. If missing value of `infer_every` is used and retrain on every inference run. + |
Format | @@ -178,27 +196,48 @@ If a time zone is omitted, a timezone-naive datetime is used.|||||||
---|---|---|---|---|---|---|---|
ISO 8601 | -fit_start_iso |
+ + +`fit_start_iso` + | str | -"2022-04-01T00:00:00Z", "2022-04-01T00:00:00+01:00", "2022-04-01T00:00:00+0100", "2022-04-01T00:00:00+01" |
+ + +`"2022-04-01T00:00:00Z", "2022-04-01T00:00:00+01:00", "2022-04-01T00:00:00+0100", "2022-04-01T00:00:00+01"` + | Start datetime to use for training a model. ISO string or UNIX time in seconds. | |
UNIX time | -fit_start_s |
+ + +`fit_start_s` + | float | 1648771200 | |||
ISO 8601 | -fit_end_iso |
+ + +`fit_end_iso` + | str | -"2022-04-10T00:00:00Z", "2022-04-10T00:00:00+01:00", "2022-04-10T00:00:00+0100", "2022-04-10T00:00:00+01" |
- End datetime to use for training a model. Must be greater than fit_start_* . ISO string or UNIX time in seconds. |
+ + +`"2022-04-10T00:00:00Z", "2022-04-10T00:00:00+01:00", "2022-04-10T00:00:00+0100", "2022-04-10T00:00:00+01"` + | +End datetime to use for training a model. Must be greater than + +`fit_start_*` +. ISO string or UNIX time in seconds. |
UNIX time | -fit_end_s |
+ + +`fit_end_s` + | float | 1649548800 |
Format | @@ -219,27 +258,48 @@ If a time zone is omitted, a timezone-naive datetime is used.|||||||
---|---|---|---|---|---|---|---|
ISO 8601 | -infer_start_iso |
+ + +`infer_start_iso` + | str | -"2022-04-11T00:00:00Z", "2022-04-11T00:00:00+01:00", "2022-04-11T00:00:00+0100", "2022-04-11T00:00:00+01" |
+ + +`"2022-04-11T00:00:00Z", "2022-04-11T00:00:00+01:00", "2022-04-11T00:00:00+0100", "2022-04-11T00:00:00+01"` + | Start datetime to use for a model inference. ISO string or UNIX time in seconds. | |
UNIX time | -infer_start_s |
+ + +`infer_start_s` + | float | 1649635200 | |||
ISO 8601 | -infer_end_iso |
+ + +`infer_end_iso` + | str | -"2022-04-14T00:00:00Z", "2022-04-14T00:00:00+01:00", "2022-04-14T00:00:00+0100", "2022-04-14T00:00:00+01" |
- End datetime to use for a model inference. Must be greater than infer_start_* . ISO string or UNIX time in seconds. |
+ + +`"2022-04-14T00:00:00Z", "2022-04-14T00:00:00+01:00", "2022-04-14T00:00:00+0100", "2022-04-14T00:00:00+01"` + | +End datetime to use for a model inference. Must be greater than + +`infer_start_*` +. ISO string or UNIX time in seconds. |
UNIX time | -infer_end_s |
+ + +`infer_end_s` + | float | 1649894400 |
Parameter | @@ -295,10 +355,19 @@ If a time zone is omitted, a timezone-naive datetime is used.||||||
---|---|---|---|---|---|---|
n_jobs |
+ + +`n_jobs` + | int | -1 |
- Allows proportionally faster (yet more resource-intensive) evaluations of a config on historical data. Default value is 1, that implies sequential execution. Introduced in v1.13.0 | ++ +`1` + | ++ +Allows *proportionally faster (yet more resource-intensive)* evaluations of a config on historical data. Default value is 1, that implies *sequential* execution. Introduced in [v1.13.0](../CHANGELOG.md#v1130) + |
Format | @@ -319,27 +388,48 @@ This timeframe will be used for slicing on intervals `(fit_window, infer_window|||||||
---|---|---|---|---|---|---|---|
ISO 8601 | -from_iso |
+ + +`from_iso` + | str | -"2022-04-01T00:00:00Z", "2022-04-01T00:00:00+01:00", "2022-04-01T00:00:00+0100", "2022-04-01T00:00:00+01" |
+ + +`"2022-04-01T00:00:00Z", "2022-04-01T00:00:00+01:00", "2022-04-01T00:00:00+0100", "2022-04-01T00:00:00+01"` + | Start datetime to use for backtesting. | |
UNIX time | -from_s |
+ + +`from_s` + | float | 1648771200 | |||
ISO 8601 | -to_iso |
+ + +`to_iso` + | str | -"2022-04-10T00:00:00Z", "2022-04-10T00:00:00+01:00", "2022-04-10T00:00:00+0100", "2022-04-10T00:00:00+01" |
- End datetime to use for backtesting. Must be greater than from_start_* . |
+ + +`"2022-04-10T00:00:00Z", "2022-04-10T00:00:00+01:00", "2022-04-10T00:00:00+0100", "2022-04-10T00:00:00+01"` + | +End datetime to use for backtesting. Must be greater than + +`from_start_*` + |
UNIX time | -to_s |
+ + +`to_s` + | float | 1649548800 |
Format | @@ -361,21 +451,30 @@ The same *explicit* logic as in [Periodic scheduler](#periodic-scheduler)||||||
---|---|---|---|---|---|---|
ISO 8601 | -fit_window |
+ + +`fit_window` + | str | -"PT1M", "P1H" |
+ + +`"PT1M", "P1H"` + | What time range to use for training the models. Must be at least 1 second. |
Prometheus-compatible | -"1m", "1h" |
+ + +`"1m", "1h"` + |
Format | @@ -388,14 +487,23 @@ In `BacktestingScheduler`, the inference window is *implicitly* defined as a per||||||
---|---|---|---|---|---|---|
ISO 8601 | -fit_every |
+ + +`fit_every` + | str | -"PT1M", "P1H" |
+ + +`"PT1M", "P1H"` + | What time range to use previously trained model to infer on new data until next retrain happens. |
Prometheus-compatible | -"1m", "1h" |
+ + +`"1m", "1h"` + |
Parameter | @@ -30,71 +27,190 @@ Future updates will introduce additional export methods, offering users more fle|||||
---|---|---|---|---|---|
class |
- "writer.vm.VmWriter" (or "vm" starting from v1.13.0) |
- Name of the class needed to enable writing to VictoriaMetrics or Prometheus. VmWriter is the default option, if not specified. | ++ +`class` + | ++ +`writer.vm.VmWriter` or `vm` starting from [`v1.13.0`](../CHANGELOG.md#v1130) + | ++ +Name of the class needed to enable writing to VictoriaMetrics or Prometheus. VmWriter is the default option, if not specified. + |
datasource_url |
- "http://localhost:8481/" |
- Datasource URL address | ++ +`datasource_url` + | ++ +`http://localhost:8481/` + | ++ +Datasource URL address + |
tenant_id |
- "0:0" |
- For VictoriaMetrics Cluster version only, tenants are identified by accountID or accountID:projectID. See VictoriaMetrics Cluster multitenancy docs | ++ +`tenant_id` + | ++ +`0:0` + | ++ +For VictoriaMetrics Cluster version only, tenants are identified by accountID or accountID:projectID. See VictoriaMetrics Cluster [multitenancy docs](../../Cluster-VictoriaMetrics.md#multitenancy) + |
metric_format |
- __name__: "vmanomaly_$VAR" |
- Metrics to save the output (in metric names or labels). Must have __name__ key. Must have a value with $VAR placeholder in it to distinguish between resulting metrics. Supported placeholders:
+ | + +`metric_format` + | ++ +`__name__: "vmanomaly_$VAR"` + | +
+
+Metrics to save the output (in metric names or labels). Must have `__name__` key. Must have a value with `$VAR` placeholder in it to distinguish between resulting metrics. Supported placeholders:
|
for: "$QUERY_KEY" | |||||
run: "test_metric_format" | |||||
config: "io_vm_single.yaml" | |||||
+ +`for: "$QUERY_KEY"` + | +|||||
+ +`run: "test_metric_format"` + | +|||||
+ +`config: "io_vm_single.yaml"` + | +|||||
import_json_path |
- "/api/v1/import" |
- Optional, to override the default import path | ++ +`import_json_path` + | ++ +`/api/v1/import` + | ++ +Optional, to override the default import path + |
health_path |
- "health" |
- Absolute or relative URL address where to check the availability of the datasource. Optional, to override the default "/health" path. |
+ + +`health_path` + | ++ +`/health` + | ++ +Absolute or relative URL address where to check the availability of the datasource. Optional, to override the default `/health` path. + |
user |
- "USERNAME" |
- BasicAuth username | ++ +`user` + | ++ +`USERNAME` + | ++ +BasicAuth username + |
password |
- "PASSWORD" |
- BasicAuth password | ++ +`password` + | ++ +`PASSWORD` + | ++ +BasicAuth password + |
timeout |
- "5s" |
- Timeout for the requests, passed as a string. Defaults to "5s" | ++ +`timeout` + | ++ +`5s` + | ++ +Timeout for the requests, passed as a string + |
verify_tls |
- "false" |
- Allows disabling TLS verification of the remote certificate. | ++ +`verify_tls` + | ++ +`false` + | ++ +Allows disabling TLS verification of the remote certificate. + |
bearer_token |
- "token" |
- Token is passed in the standard format with the header: "Authorization: bearer {token}" | ++ +`bearer_token` + | ++ +`token` + | ++ +Token is passed in the standard format with the header: `Authorization: bearer {token}` + |
User Role | Categories | @@ -85,7 +83,7 @@ You assign the role to the user during the user creation procedure. You can chan ### User statuses -
Active | The user can log in and use Managed VictoriaMetrics. The user role defines the access level. | @@ -105,12 +103,12 @@ You assign the role to the user during the user creation procedure. You can chan It shows all users with different roles, and you can apply provided actions with them. - +![User Management list](user_management_list.webp) In the table, there is additional information about the users: -
Email: | Registration user email | @@ -138,7 +136,7 @@ In the table, there is additional information about the users: Click on `Invite user` button the user invitation button and fill out the form in the modal, which will appear after you click. All fields are mandatory. - +![Invite user](user_management_invite_user.webp) After filling out the form, click on the `Invite` button. The user will be saved, and an invitation email to the provided email address will be sent. As a confirmation, you will see the success message. @@ -148,7 +146,7 @@ The user will be saved, and an invitation email to the provided email address wi The user will be at Pending Invitation status. After accepting the invitation user status changes to Active. - +![Invite success](user_management_invite_success.webp) ## How to Update User @@ -156,17 +154,17 @@ The user will be at Pending Invitation status. After accepting the invitation us To edit the user role and details, activate or deactivate a user, and click on - +![Update user](user_management_update_user.webp) or `user email` to edit the user. User editing form: - +![Update form](user_management_user_update_form.webp) To save changes, click the `Save changes` button. If changes are saved successfully, you will see a message at the top of the page. - +![Updated success](user_management_user_updated_success.webp) ## How to Delete User @@ -174,15 +172,15 @@ You can delete a user from your account. However, you will need to invite them a Click on `Delete` button to delete the user. - +![User delete](user_management_user_delete.webp) To confirm the deletion of a user, you will need to re-enter their email address and press the **Delete** button - +![User delete form](user_management_delete_user_form.webp) You will be redirected to the main page with a success or error message - +![Delete success](user_management_delete_success.webp) ## How to resend invitation @@ -190,12 +188,12 @@ If the invitation is expired, it is possible to resend email to the user Click `Resend invitation` button - +![Resend invitation](user_management_resend_invitation.webp) Confirm resend invitation by clicking `Resend` button in the modal dialog - +![Confirm resend invitation](user_management_confirm_resend_invitation.webp) If invitation successfully resented to the user success message will appear - +![Resend success](user_management_resend_success.webp) diff --git a/docs/relabeling.md b/docs/relabeling.md index ff29ae5c8..0c95ab192 100644 --- a/docs/relabeling.md +++ b/docs/relabeling.md @@ -9,9 +9,6 @@ menu: aliases: - /relabeling.html --- - -# Relabeling cookbook - VictoriaMetrics and [vmagent](https://docs.victoriametrics.com/vmagent/) support [Prometheus-compatible relabeling](https://docs.victoriametrics.com/vmagent/#relabeling) with [additional enhancements](https://docs.victoriametrics.com/vmagent/#relabeling-enhancements). diff --git a/docs/scrape_config_examples.md b/docs/scrape_config_examples.md index 62c723ef2..d11037985 100644 --- a/docs/scrape_config_examples.md +++ b/docs/scrape_config_examples.md @@ -9,9 +9,6 @@ menu: aliases: - /scrape_config_examples.html --- - -# Scrape config examples - - [Static configs](#static-configs) - [File-based target discovery](#file-based-target-discovery) - [HTTP-based target discovery](#http-based-target-discovery) diff --git a/docs/sd_configs.md b/docs/sd_configs.md index e829ff703..d6aca9f37 100644 --- a/docs/sd_configs.md +++ b/docs/sd_configs.md @@ -9,9 +9,6 @@ menu: aliases: - /sd_configs.html --- - -# Prometheus service discovery - # Supported service discovery configs [vmagent](https://docs.victoriametrics.com/vmagent/) and [single-node VictoriaMetrics](https://docs.victoriametrics.com/#how-to-scrape-prometheus-exporters-such-as-node-exporter) diff --git a/docs/stream-aggregation.md b/docs/stream-aggregation.md index a3d3e1029..042e3e52b 100644 --- a/docs/stream-aggregation.md +++ b/docs/stream-aggregation.md @@ -9,9 +9,6 @@ menu: aliases: - /stream-aggregation.html --- - -# Streaming aggregation - [vmagent](https://docs.victoriametrics.com/vmagent/) and [single-node VictoriaMetrics](https://docs.victoriametrics.com/single-server-victoriametrics/) can aggregate incoming [samples](https://docs.victoriametrics.com/keyconcepts/#raw-samples) in streaming mode by time and by labels before data is written to remote storage (or local storage for single-node VictoriaMetrics). @@ -589,7 +586,7 @@ sum(sum_over_time(some_metric[interval])) / sum(count_over_time(some_metric[inte For example, see below time series produced by config with aggregation interval `1m` and `by: ["instance"]` and the regular query: - +![avg aggregation](stream-aggregation-check-avg.webp) See also: @@ -669,7 +666,7 @@ then take a look at [increase_prometheus](#increase_prometheus). For example, see below time series produced by config with aggregation interval `1m` and `by: ["instance"]` and the regular query: - +![increase aggregation](stream-aggregation-check-increase.webp) Aggregating irregular and sporadic metrics (received from [Lambdas](https://aws.amazon.com/lambda/) or [Cloud Functions](https://cloud.google.com/functions)) can be controlled via [staleness_interval](#staleness) option. @@ -735,7 +732,7 @@ max(max_over_time(some_metric[interval])) For example, see below time series produced by config with aggregation interval `1m` and the regular query: - +![total aggregation](stream-aggregation-check-max.webp) See also: @@ -756,7 +753,7 @@ min(min_over_time(some_metric[interval])) For example, see below time series produced by config with aggregation interval `1m` and the regular query: - +![min aggregation](stream-aggregation-check-min.webp) See also: @@ -831,7 +828,7 @@ histogram_stdvar(sum(histogram_over_time(some_metric[interval])) by (vmrange)) For example, see below time series produced by config with aggregation interval `1m` and the regular query: - +![stdvar aggregation](stream-aggregation-check-stdvar.webp) See also: @@ -852,7 +849,7 @@ sum(sum_over_time(some_metric[interval])) For example, see below time series produced by config with aggregation interval `1m` and the regular query: - +![sum_samples aggregation](stream-aggregation-check-sum-samples.webp) See also: @@ -876,7 +873,7 @@ then take a look at [total_prometheus](#total_prometheus). For example, see below time series produced by config with aggregation interval `1m` and `by: ["instance"]` and the regular query: - +![total aggregation](stream-aggregation-check-total.webp) `total` is not affected by [counter resets](https://docs.victoriametrics.com/keyconcepts/#counter) - it continues to increase monotonically with respect to the previous value. @@ -884,7 +881,7 @@ The counters are most often reset when the application is restarted. For example: - +![total aggregation counter reset](stream-aggregation-check-total-reset.webp) The same behavior occurs when creating or deleting new series in an aggregation group - `total` output increases monotonically considering the values of the series set. diff --git a/docs/url-examples.md b/docs/url-examples.md index 9b6895422..8e1d8c516 100644 --- a/docs/url-examples.md +++ b/docs/url-examples.md @@ -10,9 +10,6 @@ menu: aliases: - /url-examples.html --- - -# VictoriaMetrics API examples - ### /api/v1/admin/tsdb/delete_series **Deletes time series from VictoriaMetrics** diff --git a/docs/victoriametrics-datasource.md b/docs/victoriametrics-datasource.md index dde434b6e..82fb3f9b2 100644 --- a/docs/victoriametrics-datasource.md +++ b/docs/victoriametrics-datasource.md @@ -13,9 +13,6 @@ aliases: - /grafana-datasource/ - /grafana-datasource.html --- - -# VictoriaMetrics datasource for Grafana - The [VictoriaMetrics datasource plugin](https://github.com/VictoriaMetrics/victoriametrics-datasource) allows to query and visualize data from VictoriaMetrics in Grafana. @@ -140,7 +137,8 @@ docker-compose -f docker-compose.yaml up When Grafana starts successfully datasources should be present on the datasources tab - +![Configuration](provision_datasources.webp) +{width="800"} ### Install in Kubernetes diff --git a/docs/vmagent.md b/docs/vmagent.md index 20851a128..62461a910 100644 --- a/docs/vmagent.md +++ b/docs/vmagent.md @@ -9,8 +9,6 @@ title: vmagent aliases: - /vmagent.html --- -# vmagent - `vmagent` is a tiny agent which helps you collect metrics from various sources, [relabel and filter the collected metrics](#relabeling) and store them in [VictoriaMetrics](https://github.com/VictoriaMetrics/VictoriaMetrics) @@ -19,7 +17,7 @@ or via [VictoriaMetrics `remote_write` protocol](#victoriametrics-remote-write-p See [Quick Start](#quick-start) for details. - +![vmagent](vmagent.webp) ## Motivation diff --git a/docs/vmalert-tool.md b/docs/vmalert-tool.md index 529084494..83c9f0656 100644 --- a/docs/vmalert-tool.md +++ b/docs/vmalert-tool.md @@ -9,9 +9,6 @@ title: vmalert-tool aliases: - /vmalert-tool.html --- - -# vmalert-tool - VMAlert command-line tool ## Unit testing for rules diff --git a/docs/vmalert.md b/docs/vmalert.md index b1f5dce73..34d3aa8df 100644 --- a/docs/vmalert.md +++ b/docs/vmalert.md @@ -9,8 +9,6 @@ title: vmalert aliases: - /vmalert.html --- -# vmalert - `vmalert` executes a list of the given [alerting](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/) or [recording](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/) rules against configured `-datasource.url` compatible with Prometheus HTTP API. For sending alerting notifications @@ -541,7 +539,8 @@ rules execution, storing recording rules results and alerts state. -notifier.url=http://alertmanager:9093 # AlertManager addr to send alerts when they trigger ``` - +![vmalert single](vmalert_single.webp) +{width="500"} #### Cluster VictoriaMetrics @@ -561,7 +560,7 @@ Cluster mode could have multiple `vminsert` and `vmselect` components. -notifier.url=http://alertmanager:9093 # AlertManager addr to send alerts when they trigger ``` - +![vmalert cluster](vmalert_cluster.webp) In case when you want to spread the load on these components - add balancers before them and configure `vmalert` with balancer addresses. Please, see more about VM's cluster architecture @@ -585,7 +584,8 @@ Alertmanagers. -notifier.url=http://alertmanagerN:9093 # The same alert will be sent to all configured notifiers ``` - +![vmalert ha](vmalert_ha.webp) +{width="800px"} To avoid recording rules results and alerts state duplication in VictoriaMetrics server don't forget to configure [deduplication](https://docs.victoriametrics.com/single-server-victoriametrics/#deduplication). @@ -661,7 +661,7 @@ or reducing resolution) and push results to "cold" cluster. -remoteWrite.url=http://aggregated-cluster-vminsert:8480/insert/0/prometheus # vminsert addr to persist recording rules results ``` - +![vmalert multi cluster](vmalert_multicluster.webp) Please note, [replay](#rules-backfilling) feature may be used for transforming historical data. @@ -675,7 +675,7 @@ For persisting recording or alerting rule results `vmalert` requires `-remoteWri But this flag supports only one destination. To persist rule results to multiple destinations we recommend using [vmagent](https://docs.victoriametrics.com/vmagent/) as fan-out proxy: - +![vmalert multiple remote write destinations](vmalert_multiple_rw.webp) In this topology, `vmalert` is configured to persist rule results to `vmagent`. And `vmagent` is configured to fan-out received data to two or more destinations. @@ -848,12 +848,12 @@ Data delay is one of the most common issues with rules execution. vmalert executes configured rules within certain intervals at specifics timestamps. It expects that the data is already present in configured `-datasource.url` at the moment of time when rule is executed: - +![vmalert expected evaluation](vmalert_ts_normal.gif) Usually, troubles start to appear when data in `-datasource.url` is delayed or absent. In such cases, evaluations may get empty response from the datasource and produce empty recording rules or reset alerts state: - +![vmalert evaluation when data is delayed](vmalert_ts_data_delay.gif) Try the following recommendations to reduce the chance of hitting the data delay issue: * Always configure group's `-evaluationInterval` to be bigger or at least equal to @@ -893,7 +893,7 @@ state updates for each rule starting from [v1.86](https://docs.victoriametrics.c To check updates, click on `Details` link next to rule's name on `/vmalert/groups` page and check the `Last updates` section: - +![vmalert state](vmalert_state.webp) Rows in the section represent ordered rule evaluations and their results. The column `curl` contains an example of HTTP request sent by vmalert to the `-datasource.url` during evaluation. If specific state shows that there were @@ -905,7 +905,7 @@ for more details. vmalert allows configuring more detailed logging for specific alerting rule starting from [v1.82](https://docs.victoriametrics.com/changelog/#v1820). Just set `debug: true` in rule's configuration and vmalert will start printing additional log messages: -```terminal +```shell-session 2022-09-15T13:35:41.155Z DEBUG rule "TestGroup":"Conns" (2601299393013563564) at 2022-09-15T15:35:41+02:00: query returned 0 samples (elapsed: 5.896041ms) 2022-09-15T13:35:56.149Z DEBUG datasource request: executing POST request with params "denyPartialResponse=true&query=sum%28vm_tcplistener_conns%7Binstance%3D%22localhost%3A8429%22%7D%29+by%28instance%29+%3E+0&step=15s&time=1663248945" 2022-09-15T13:35:56.178Z DEBUG rule "TestGroup":"Conns" (2601299393013563564) at 2022-09-15T15:35:56+02:00: query returned 1 samples (elapsed: 28.368208ms) diff --git a/docs/vmauth.md b/docs/vmauth.md index 8408eefb3..139a91998 100644 --- a/docs/vmauth.md +++ b/docs/vmauth.md @@ -9,8 +9,6 @@ title: vmauth aliases: - /vmauth.html --- -# vmauth - `vmauth` is an HTTP proxy, which can [authorize](https://docs.victoriametrics.com/vmauth/#authorization), [route](https://docs.victoriametrics.com/vmauth/#routing) and [load balance](https://docs.victoriametrics.com/vmauth/#load-balancing) requests across [VictoriaMetrics](https://github.com/VictoriaMetrics/VictoriaMetrics) components or any other HTTP backends. diff --git a/docs/vmbackup.md b/docs/vmbackup.md index f4d2c674c..a3b42f9d9 100644 --- a/docs/vmbackup.md +++ b/docs/vmbackup.md @@ -9,8 +9,6 @@ title: vmbackup aliases: - /vmbackup.html --- -# vmbackup - `vmbackup` creates VictoriaMetrics data backups from [instant snapshots](https://docs.victoriametrics.com/single-server-victoriametrics/#how-to-work-with-snapshots). `vmbackup` supports incremental and full backups. Incremental backups are created automatically if the destination path already contains data from the previous backup. diff --git a/docs/vmbackupmanager.md b/docs/vmbackupmanager.md index fecbe199b..316ca07ab 100644 --- a/docs/vmbackupmanager.md +++ b/docs/vmbackupmanager.md @@ -117,11 +117,11 @@ The result on the GCS bucket * The root folder - + ![root folder](vmbackupmanager_root_folder.webp) * The latest folder - + ![latest folder](vmbackupmanager_latest_folder.webp) `vmbackupmanager` uses [smart backups](https://docs.victoriametrics.com/vmbackup/#smart-backups) technique in order to accelerate backups and save both data transfer costs and data copying costs. This includes server-side copy of already existing @@ -147,7 +147,7 @@ Backup retention policy is controlled by: Let’s assume we have a backup manager collecting daily backups for the past 10 days. - +![retention policy daily before retention cycle](vmbackupmanager_rp_daily_1.webp) We enable backup retention policy for backup manager by using following configuration: @@ -172,7 +172,7 @@ info app/vmbackupmanager/retention.go:106 daily backups to delete [daily/2 The result on the GCS bucket. We see only 3 daily backups: - +[retention policy daily after retention cycle](vmbackupmanager_rp_daily_2.webp "retention policy daily after retention cycle") ### Protection backups against deletion by retention policy diff --git a/docs/vmctl.md b/docs/vmctl.md index 51d2057a0..ae3ca8974 100644 --- a/docs/vmctl.md +++ b/docs/vmctl.md @@ -9,8 +9,6 @@ title: vmctl aliases: - /vmctl.html --- -# vmctl - VictoriaMetrics command-line tool (vmctl) provides the following list of actions: - migrate data from [Prometheus](#migrating-data-from-prometheus) to VictoriaMetrics using snapshot API - migrate data from [Thanos](#migrating-data-from-thanos) to VictoriaMetrics diff --git a/docs/vmgateway.md b/docs/vmgateway.md index a9f89b867..8fde485ad 100644 --- a/docs/vmgateway.md +++ b/docs/vmgateway.md @@ -9,13 +9,11 @@ title: vmgateway aliases: - /vmgateway.html --- -# vmgateway - ***vmgateway is a part of [enterprise package](https://docs.victoriametrics.com/enterprise/). It is available for download and evaluation at [releases page](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/latest). See how to request a free trial license [here](https://victoriametrics.com/products/enterprise/trial/).*** - +![vmgateway](vmgateway-overview.webp) `vmgateway` is a proxy for the VictoriaMetrics Time Series Database (TSDB). It provides the following features: @@ -30,7 +28,7 @@ See how to request a free trial license [here](https://victoriametrics.com/produ ## Access Control - +![vmgateway-ac](vmgateway-access-control.webp) `vmgateway` supports jwt based authentication. With jwt payload can be configured to give access to specific tenants and labels as well as to read/write. @@ -95,7 +93,7 @@ curl 'http://localhost:8431/api/v1/series/count' -H 'Authorization: Bearer incor ## Rate Limiter - +![vmgateway-rl](vmgateway-rate-limiting.webp) Limits incoming requests by given, pre-configured limits. It supports read and write limiting by tenant. diff --git a/docs/vmrestore.md b/docs/vmrestore.md index 040c313d7..a0f4877fe 100644 --- a/docs/vmrestore.md +++ b/docs/vmrestore.md @@ -9,8 +9,6 @@ title: vmrestore aliases: - /vmrestore.html --- -# vmrestore - `vmrestore` restores data from backups created by [vmbackup](https://docs.victoriametrics.com/vmbackup/). Restore process can be interrupted at any time. It is automatically resumed from the interruption point