Jump to content

Draft:VictoriaMetrics

From Wikipedia, the free encyclopedia
  • Comment: I'm not seeing the in-depth coverage in independent secondary sources needed here. Stuartyeates (talk) 08:55, 2 September 2022 (UTC)

VictoriaMetrics
Original author(s)Aliaksandr Valialkin
Developer(s)VictoriaMetrics Inc.
Initial releaseClosed Source Release: September, 2018 / 1st Open Source Release: May, 2019
Stable release
v1.102.1 / 01 August 2024
Repositoryhttps://github.com/VictoriaMetrics/VictoriaMetrics
Written inGo
Operating systemLinux, Windows, MacOS, FreeBSD, OpenBSD
Available inEnglish
TypeTime Series Database / Monitoring Solution
LicenseApache 2.0
Websitehttps://victoriametrics.com

VictoriaMetrics is a free and open source time series database (TSDB) and monitoring solution[1][2][3]. It is designed to collect, store and process real-time metrics. For data ingestion, it supports the Prometheus pull model and various push protocols (Graphite, InfluxDB, OpenTSDB). For reading the data and evaluating alerting rules VictoriaMetrics supports the MetricsQL and Graphite query languages. The project is written in Go and licensed under the Apache 2 License.

History

[edit]

Aliaksandr Valialkin started the project motivated by the scalability limitations of the Prometheus monitoring system encountered at his prior workplace.[4] Drawing inspiration from ClickHouse, an open-source analytical database known for its performance and architectural design, Valialkin developed a storage solution for efficient time series data handling. The initial proprietary iteration of VictoriaMetrics was released in September 2018, followed by the public release of the open source version in 2019.

Architecture

[edit]

VictoriaMetrics can be deployed in either a single-node or cluster version.

  • Single-node version: a single binary executable capable of scraping metrics, accepting write requests, or executing reading queries.
  • Cluster version: an extended version of a single node split into three components:
Additional Components
[edit]

There are additional components in the VictoriaMetrics product ecosystem for various purposes:

  • vmagent: a lightweight application for metrics collection, transformation and forwarding to the storage. Acts as a proxy between clients and VictoriaMetrics
  • vmalert: an application for evaluating alerting and recording rules
  • vmbackup/vmrestore: a set of tools for backup and recovery
  • vmauth: an authentication proxy used for extra protection and routing
  • vmctl: an utility for migrating from other systems such as Prometheus, InfluxDB or OpenTSDB
  • vmanomaly: an anomaly detection service

Limitations

[edit]
  • No data update support
  • Limited data deletion support
  • Supports only numeric values as time series data point value
  • Does not accept data with timestamps set in the future

Integrations

[edit]

VictoriaMetrics supports data ingestion via the following protocols:

  • Prometheus remote write protocol
  • Prometheus exposition and OpenMetrics protocol
  • InfluxDB line protocol
  • OpenTSDB Put protocol
  • Graphite plaintext protocol
  • OpenTelemetry[5][6]
  • DataDog v2 data ingestion protocol
  • NewRelic agent data ingestion

Use Cases

[edit]

Usage

[edit]
  • VictoriaMetrics is used by CERN for real-time monitoring of CMS[7]
  • Grammarly uses VictoriaMetrics for internal monitoring of the infrastructure
  • Percona Monitoring and Management (PMM) solution uses VictoriaMetrics
  • Open Cosmos has integrated VictoriaMetrics into its mission-critical satellite control and data distribution platform[8]
  • Other organizations using VictoriaMetrics include Semrush, Ably, Roblox, Cloudflare, Criteo and more.

References

[edit]
  1. ^ Speed, Richard (11 Dec 2023). "VictoriaMetrics takes organic growth over investor pressure". The Register. Retrieved 2023-01-11.
  2. ^ Hausenblas, Michael (26 December 2023). Cloud Observability in Action. Manning. p. 106. ISBN 978-1633439597.
  3. ^ Chapman, Rob; Holmes, Peter (12 January 2024). Observability with Grafana: Monitor, control, and visualize your Kubernetes and cloud platforms using the LGTM stack. Packt Publishing. p. 24. ISBN 9781803248004.
  4. ^ Tolmashov, Oleg (2023-11-15). "Unleashing VM histograms for Ruby: Migrating from Prometheus to VictoriaMetrics with vm-client". HackerNoon. Retrieved 2023-11-15.
  5. ^ Behar, Vincent. "Adopting OpenTelemetry and its collector" (PDF). FOSDEM. Retrieved 2022-02-06.
  6. ^ OpenTelemetry, Authors. "Vendors who natively support OpenTelemetry". OpenTelemetry. OpenTelemetry Authors. Retrieved 2024-01-31.
  7. ^ Kuznetsov, Valentin. "CMS Monitoring R&D: Real time monitoring and Alerts" (PDF). Cornell University / Indico, CERN: 26. Retrieved 2022-08-30.
  8. ^ Bridgwater, Adrian (25 January 2023). "Is it time for time-series databases?". Computer Weekly. Retrieved 2023-01-25.

Category:Software