TiloBox
Back to directory
VictoriaMetrics project preview

VictoriaMetrics

A time-series database and monitoring system supporting Prometheus ingestion, MetricsQL queries, retention, and clustered deployments.

LicenseApache-2.0
GitHub stars17.6k
Last commit1 weeks ago
Tags7 topics
Time SeriesMetricsqlMonitoringSelf HostedOpen SourcePrometheus CompatibleDatabase
Overview

Why consider VictoriaMetrics?

VictoriaMetrics is a fast, cost-effective open-source time series database and monitoring solution for handling high-volume metric ingestion and long-term storage. It provides drop-in compatibility with Prometheus ecosystems while significantly reducing CPU, RAM, and disk storage requirements.

Guided learning

Learn VictoriaMetrics by building

Practical setup notes, real use cases, and copy-ready examples in one focused guide.

5 min read 4 sections
In this guide4 sections

VictoriaMetrics: High-Performance Time Series Database and Monitoring

VictoriaMetrics is an open-source time series database and monitoring platform designed to provide high-performance, cost-effective storage for time series data across systems of all sizes (README). Managing large volumes of telemetry data in modern cloud infrastructure often challenges traditional monitoring tools due to high memory usage, heavy disk IO churn, and steep storage footprint overhead. VictoriaMetrics solves these operational hurdles by offering a drop-in Prometheus replacement that scales horizontally while substantially decreasing compute and hardware requirements on the official VictoriaMetrics website.

The system is built to accommodate diverse infrastructure requirements and scale seamlessly from individual servers to massive multi-tenant enterprise deployments. VictoriaMetrics is distributed under the Apache License 2.0 and provides both a single-node deployment and a horizontally scalable cluster architecture (license documentation). The single-node edition runs as a self-contained executable that simplifies operation for small-to-medium clusters, while the distributed cluster architecture separates data ingestion, query processing, and persistent storage layers to deliver elastic horizontal scaling across independent machines under the official Apache 2.0 license.

Telemetry Ingestion and Edge Collection with vmagent

In high-throughput environments, centralizing metric collection and preprocessing before writing data to long-term storage reduces network saturation and improves pipeline reliability. The dedicated vmagent service operates as a lightweight collector that scrapes metric endpoints, applies relabeling rules, and transmits telemetry to storage using standard remote write protocols (vmagent documentation). It functions as an agile drop-in replacement for Prometheus scraping daemons, allowing engineering teams to retain existing scrape configurations while benefiting from unified metric routing.

To configure metric collection across remote endpoints, operators pass scrape configurations directly to the binary:

sh
1/path/to/vmagent -promscrape.config=/path/to/prometheus.yml -remoteWrite.url=https://victoria-metrics-host:8428/api/v1/write

Edge environments often encounter network degradation, intermittent connectivity loss, or storage outages. When network connections to upstream storage are unstable or interrupted, vmagent buffers collected metrics to local disk storage and automatically flushes the queue once connectivity is restored (vmagent documentation). This on-disk queuing mechanism safeguards critical operational telemetry against packet drops and data loss during unforeseen upstream infrastructure outages.

Running monitoring infrastructure at scale requires careful optimization of cluster overhead. The metric collection pipeline is engineered for low resource overhead, consuming significantly less RAM, CPU processing capacity, disk IO operations, and network bandwidth than standard Prometheus agents (vmagent architecture). This efficiency enables organizations to run hundreds of collection nodes across Kubernetes clusters and bare-metal environments with negligible resource consumption.

Alert Evaluation and Notification Routing with vmalert

Continuous anomaly detection and alerting are essential for maintaining service level objectives across production workloads. The vmalert component evaluates alerting and recording rules against configured data sources and routes triggered notifications to Prometheus Alertmanager instances (vmalert documentation). By offloading query execution and rule calculation from storage nodes to dedicated evaluators, vmalert maintains predictable alerting schedules even during periods of heavy analytical query load.

Heterogeneous observability environments often span multiple database engines and query protocols. The vmalert evaluation daemon natively integrates with VictoriaMetrics, VictoriaLogs, VictoriaTraces, Graphite, and standard Prometheus compatible data storage backends (vmalert integrations). This broad protocol compatibility allows teams to maintain unified alerting logic across time series metrics, structured log pipelines, and distributed trace backends without maintaining separate notification stacks.

Access Control and Request Routing with vmauth

Securing multi-tenant telemetry and routing requests across distributed clusters requires flexible proxying infrastructure. The vmauth proxy provides authentication, load balancing, and request routing across VictoriaMetrics clusters and external HTTP services (vmauth documentation). It allows platform administrators to enforce granular access policies, terminate TLS connections, and direct read or write traffic to appropriate tenant namespaces based on HTTP headers and bearer tokens.

To launch the authentication proxy, specify the configuration file directly:

sh
1/path/to/vmauth -auth.config=/path/to/auth/config.yml

The vmauth proxy accepts HTTP requests on port 8427 and proxies them according to the provided -auth.config routing rules (vmauth proxy).

Orchestrating VictoriaMetrics with Docker Compose

For local testing, validation, and small-scale deployment, container orchestration offers a clean approach to bootstrapping the entire monitoring stack. The official Docker Compose environment bundles VictoriaMetrics core components alongside Alertmanager and Grafana for local development and rapid evaluation (docker environment). This pre-configured stack includes automated target discovery, metric collection, and dashboard visualization out of the box.

To start the single-node stack from the repository root, run:

sh
1make docker-vm-single-up

Executing this command starts the single-node storage engine, provisions the vmagent collector, and boots Grafana with pre-configured dashboards (docker guide). Developers can review code and contribute enhancements on the official VictoriaMetrics GitHub repository and track new versions on the official releases page.

Related tools

More options with a similar category or technology profile.

VictoriaMetrics FAQs

VictoriaMetrics is listed as a Monitoring tool on TiloBox. Review the overview, features, and official documentation on this page to decide whether it solves your specific workflow.

Start with the project's GitHub repository and official website for supported installation and deployment instructions. Test the setup with representative data or a small project before rolling it out more widely.

VictoriaMetrics is listed under the Apache-2.0 license. Read the complete license text and the project's notices before using, modifying, or distributing the software.

Production readiness depends on your requirements. Review maintenance activity, security practices, documentation, backup and upgrade procedures, and compatibility with your stack; then validate it in a non-production environment.

VictoriaMetrics is listed as an alternative to Prometheus. Compare the core workflow, deployment model, integrations, and licensing against your must-have requirements before switching.