VictoriaMetrics Time Series Database

repository·master·Indexed 12 days ago

https://github.com/VictoriaMetrics/VictoriaMetrics

A high-performance, scalable, and cost-effective time series database designed for monitoring large-scale data. It serves as an alternative to Prometheus, InfluxDB, and Graphite, supporting single-node and clustered deployments via components such as vminsert for ingestion routing, vmstorage for data persistence, and vmselect for query processing. Includes VMUI, a built-in user interface for data visualization and dashboard management.

Tokens
199.7K
Snippets
538
Records
1.1K
Agent score
93%

What's inside VictoriaMetrics

  1. Overview of VictoriaMetrics features

    master

    VictoriaMetrics is a high-performance, scalable time series database designed for monitoring and managing time series data. It is optimized for high cardinality, high churn rates, and high data compression.

    Key Capabilities:

    • Drop-in Replacements: Acts as long-term storage for Prometheus and can replace Prometheus or Graphite in Grafana by supporting their respective querying APIs.
    • Query Language: Uses MetricsQL, an enhanced version of PromQL.
    • High Efficiency: Offers significantly lower RAM usage (up to 7x less than Prometheus/Thanos/Cortex) and higher data compression (up to 70x more data points than TimescaleDB).
    • Scalability: Supports both single-node and cluster deployments, providing high performance for both data ingestion and querying.
    • Reliability: Protects against data corruption during unclean shutdowns (e.g., OOM or hardware resets).
    • Protocol Support: Supports a wide range of ingestion protocols including Prometheus (scraping, remote write, exposition format), InfluxDB line protocol, Graphite, OpenTSDB, JSON line format, CSV, OpenTelemetry, and DataDog/DogStatsD.
  2. What is VictoriaMetrics Anomaly Detection (vmanomaly)?

    master

    VictoriaMetrics Anomaly Detection (vmanomaly) is an enterprise service that uses machine learning models to detect unexpected changes in time series data. It computes and pushes an anomaly_score for user-specified metrics back to VictoriaMetrics, reducing the need for manual alert thresholding.

    Note: vmanomaly is part of the VictoriaMetrics enterprise package and requires an enterprise license to run.

  3. Overview of Stream Aggregation in VictoriaMetrics

    master

    Stream aggregation allows vmagent and single-node VictoriaMetrics to aggregate incoming samples in streaming mode by time and by labels before they are written to remote or local storage.

    Key Features

    • Pre-storage Aggregation: Calculates aggregates on ingested samples before they reach the destination.
    • Universal Application: Applies to all samples received via supported ingestion protocols or scraped from Prometheus-compatible targets.
    • Data Filtering: Can filter out raw samples using -streamAggr.keepInput and -streamAggr.dropInput so raw data never reaches the destination.
    • Scalability: Supports horizontally scalable processing pipelines.

    Limitations

    • Timestamp Handling: By default, it ignores input sample timestamps and processes samples based on their ingestion time.
    • Volatility: Aggregation state is held in process memory and is lost if the process restarts.
  4. Overview of data ingestion methods for VictoriaMetrics

    master

    VictoriaMetrics supports data ingestion from various collectors, agents, and platforms. If your specific tool is not explicitly documented, you can likely ingest data using one of the standard protocols supported by VictoriaMetrics (such as Prometheus remote write, InfluxDB line protocol, etc.).

    Documented Collectors and Agents

    • Telegraf
    • vmagent
    • Vector
    • Grafana Alloy
    • Prometheus
    • OpenTelemetry Collector

    Supported Platforms

    • Proxmox Virtual Environment and Proxmox Backup Server
  5. Overview of VictoriaMetrics Cluster version

    master

    VictoriaMetrics Cluster is a horizontally scalable, high-performance solution for managing time series data. It is designed for large-scale deployments where performance and capacity need to scale beyond a single node.

    Key Features:

    • Horizontal Scalability: Scale performance and capacity by adding more nodes.
    • Multi-tenancy: Supports multiple independent namespaces for time series data.
    • Replication: Supports data replication for high availability.
    • Compatibility: Supports all features available in the single-node version.

    Recommendation: Use the single-node version if your ingestion rate is lower than one million data points per second. The single-node version is easier to operate and scales vertically with CPU, RAM, and storage. Choose the cluster version only when horizontal scaling requirements necessitate it.

  6. Overview of VictoriaMetrics ecosystem components

    master

    The VictoriaMetrics ecosystem consists of several specialized components designed for different monitoring and data management tasks:

    • vmagent: A lightweight agent that collects metrics via pull-based or push-based protocols and sends them to remote storage systems like VictoriaMetrics.
    • vmalert: A service for processing Prometheus-compatible alerting and recording rules.
    • vmalert-tool: A tool to validate alerting and recording rules.
    • vmauth: An authorization proxy and load balancer optimized for VictoriaMetrics.
    • vmgateway: An authorization proxy with per-tenant rate limiting.
    • vmctl: A tool for migrating and copying metrics data between storage systems.
    • vmbackup, vmrestore, and vmbackupmanager: Tools for managing data backups and restores.
    • vminsert, vmselect, and vmstorage: The core components of the VictoriaMetrics cluster architecture.
    • VictoriaLogs: A cost-efficient database for logs.
  7. What is vmagent?

    master

    vmagent is a lightweight, resource-efficient agent designed to collect metrics from various sources, apply relabeling and filtering, and store them in VictoriaMetrics or any other storage system that supports the Prometheus remote_write protocol.

    It is designed to be a fast and RAM-friendly alternative to Prometheus for scraping targets and can act as a flexible metrics relay, supporting various push protocols and providing features like stream aggregation, replication to multiple storages, and buffering during network instability.

  8. Overview of VictoriaMetrics

    master

    VictoriaMetrics is a high-performance, scalable, and cost-effective time series database designed for monitoring and managing time series data. It is optimized for high-rate ingestion and long-term storage, making it suitable for various workloads including APM, Kubernetes, IoT, and financial telemetry.

    Key capabilities include:

    • Long-term storage: Acts as a drop-in replacement for Prometheus or Graphite in Grafana.
    • Query Languages: Supports both PromQL and the more performant MetricsQL.
    • Protocol Support: Ingests data via Prometheus (remote write, scraping, exposition format), InfluxDB line protocol, Graphite, OpenTSDB, JSON line format, CSV, and OpenTelemetry.
    • Deployment Options: Available as a Single-node version or a Cluster version under the Apache License 2.0.
  9. Overview of VictoriaMetrics Anomaly Detection (vmanomaly)

    master

    vmanomaly is an observability layer provided as part of the VictoriaMetrics Enterprise offering. It automates the detection of anomalies in time-series data by applying machine learning models to metrics collected from VictoriaMetrics TSDB, VictoriaLogs, or VictoriaTraces.

    Instead of using raw metric thresholds which require constant manual tuning, vmanomaly generates a unified, interpretable anomaly score. This score is a de-trended and de-seasonalized metric that allows for stable, long-term static alerting thresholds.

    Key Capabilities:

    • Automated Scoring: Continuously scans data to identify deviations.
    • Simplified Alerting: Use a simple threshold like anomaly_score > 1 to trigger alerts.
    • Seamless Integration: Anomaly scores are stored back in VictoriaMetrics TSDB for use in Grafana, vmalert, and other downstream tools.
    • Multivariate Support: Can detect patterns across related metrics rather than just in isolation.

    Note: vmanomaly requires an Enterprise license to run (starting from v1.5.0).

  10. New VMUI features for mobile and data visualization

    master

    Starting from v1.87.1, VMUI includes several usability improvements:

    • Mobile Optimization: Optimized for use on smartphones and tablets.
    • Tenant Selection: Added the ability to search for tenants in the drop-down list within the tenant selector.
    • Enhanced Legends/Tooltips: Added avg, min, max, and last values to line legends and tooltips for graphs.
  11. Ingest OpenTelemetry signals with VictoriaMetrics software

    master

    VictoriaMetrics provides native OpenTelemetry (OTel) ingestion for metrics, logs, and traces. You can use VictoriaMetrics components as a backend for an OpenTelemetry-based observability pipeline by sending data via the OpenTelemetry Protocol (OTLP) from an OpenTelemetry Collector or directly from applications instrumented with OpenTelemetry SDKs.

    VictoriaMetrics uses dedicated databases for each signal type to optimize for specific usage scenarios:

  12. Supported cloud storage types by VictoriaMetrics component

    master

    Several VictoriaMetrics components support connecting to cloud storage for reading or writing object data. The availability of storage types varies by component:

    ComponentAWS S3 and S3-compatibleGoogle Cloud StorageAzure Blob Storage
    vmbackup
    vmrestore
    vmbackupmanager
    vmalert

    Note on CLI Flags:

    • vmalert uses -s3.* prefixed flags (e.g., -s3.credsFilePath) for both S3 and Google Cloud Storage.
    • vmbackup, vmrestore, and vmbackupmanager use unprefixed flags (e.g., -credsFilePath).