VictoriaMetrics Anomaly Detection (vmanomaly) primarily uses VmReader to ingest data. This reader focuses on fetching time-series data directly from VictoriaMetrics with the help of powerful MetricsQL 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.

VM reader #

Config parameters #

ParameterExampleDescription

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.

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

tenant_id

0:0

For VictoriaMetrics Cluster version only, tenants are identified by accountID or accountID:projectID. See VictoriaMetrics Cluster multitenancy docs

sampling_period

1h

Frequency of the points returned. Will be converted to /query_range?step=%s param (in seconds). Required since v1.9.0.

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.

user

USERNAME

BasicAuth username

password

PASSWORD

BasicAuth password

timeout

30s

Timeout for the requests, passed as a string

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}

extra_filters

[]

List of strings with series selector. See: Prometheus querying API enhancements

Config file example:

reader:
  class: "vm"  # or "reader.vm.VmReader" until v1.13.0
  datasource_url: "http://localhost:8428/"
  tenant_id: "0:0"
  queries:
    ingestion_rate: 'sum(rate(vm_rows_inserted_total[5m])) by (type) > 0'
  sampling_period: '1m'

Healthcheck metrics #

VmReader exposes several healthchecks metrics.