Project: VictoriaMetrics (Observability and Analysis / Observability)
File: reader.md

sort: 2 title: Reader weight: 2 menu: docs: parent: "vmanomaly-components" weight: 2 aliases: /anomaly-detection/components/reader.html <!-- There are 4 sources available to read data into VM Anomaly Detection from: VictoriaMetrics, (ND)JSON file, QueryRange, or CSV file. Depending on the data source, different parameters should be specified in the config file in the `reader` section. --> VictoriaMetrics Anomaly Detection (`vmanomaly`) primarily uses to ingest data. This reader focuses on fetching time-series data directly from VictoriaMetrics with the help of powerful 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. <table> <thead> <tr> <th>Parameter</th> <th>Example</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>class</code></td> <td><code>"reader.vm.VmReader"</code></td> <td>Name of the class needed to enable reading from VictoriaMetrics or Prometheus. VmReader is the default option, if not specified.</td> </tr> <tr> <td><code>queries</code></td> <td><code>"ingestionrate: 'sum(rate(vmrowsinsertedtotal[5m])) by (type) > 0'"</code></td> <td>PromQL/MetricsQL query to select data in format: <code>QUERYALIAS: "QUERY"</code>. As accepted by <code>"/queryrange?query=%s"</code>.</td> </tr> <tr> <td><code>datasource_url</code></td> <td><code>"http://localhost:8481/"</code></td> <td>Datasource URL address</td> </tr> <tr> <td><code>tenant_id</code></td> <td><code>"0:0"</code></td> <td>For VictoriaMetrics Cluster version only, tenants are identified by accountID or accountID:projectID. See VictoriaMetrics Cluster <a href="https://docs.victoriametrics.com/cluster-victoriametrics/#multitenancy">multitenancy docs</a></td> </tr> <tr> <td><code>sampling_period</code></td> <td><code>"1h"</code></td> <td>Frequency of the points returned. Will be converted to <code>"/query_range?step=%s"</code> param (in seconds). Required since <a href="https://docs.victoriametrics.com/anomaly-detection/changelog/#v190">1.9.0</a>.</td> </tr> <tr> <td><code>queryrangepath</code></td> <td><code>"api/v1/query_range"</code></td> <td>Performs PromQL/MetricsQL range query. Default <code>"api/v1/query_range"</code></td> </tr> <tr> <td><code>health_path</code></td> <td><code>"health"</code></td> <td>Absolute or relative URL address where to check availability of the datasource. Default is <code>"health"</code>.</td> </tr> <tr> <td><code>user</code></td> <td><code>"USERNAME"</code></td> <td>BasicAuth username</td> </tr> <tr> <td><code>password</code></td> <td><code>"PASSWORD"</code></td> <td>BasicAuth password</td> </tr> <tr> <td><code>timeout</code></td> <td><code>"30s"</code></td> <td>Timeout for the requests, passed as a string. Defaults to "30s"</td> </tr> <tr> <td><code>verify_tls</code></td> <td><code>"false"</code></td> <td>Allows disabling TLS verification of the remote certificate.</td> </tr> <tr> <td><code>bearer_token</code></td> <td><code>"token"</code></td> <td>Token is passed in the standard format with header: "Authorization: bearer {token}"</td> </tr> <tr> <td><code>extra_filters</code></td> <td><code>"[]"</code></td> <td>List of strings with series selector. See: <a href="https://docs.victoriametrics.com/#prometheus-querying-api-enhancements">Prometheus querying API enhancements</a></td> </tr> </tbody> </table> Config file example: ```yaml reader: class: "reader.vm.VmReader" datasource_url: "http://localhost:8428/" tenant_id: "0:0" queries: ingestionrate: 'sum(rate(vmrowsinsertedtotal[5m])) by (type) > 0' sampling_period: '1m' ``` `VmReader` exposes .