Jean-Jerome Schmidt (talk | contribs) m Updates to the Infobox (formatting) Tag: Visual edit |
No edit summary |
||
Line 3: | Line 3: | ||
{{Infobox software |
{{Infobox software |
||
| title = VictoriaMetrics |
| title = VictoriaMetrics |
||
| logo |
| logo = [[File:VictoriaMetrics logo.svg|200px]] |
||
| logo alt = VictoriaMetrics logo |
|||
| author = Aliaksandr Valialkin |
| author = Aliaksandr Valialkin |
||
| developer = VictoriaMetrics Inc. |
| developer = VictoriaMetrics Inc. |
||
| released = Closed Source Release: September, 2018 / |
| released = Closed Source Release: September, 2018 / |
||
1st Open Source Release: May, 2019 |
1st Open Source Release: May, 2019 |
||
| latest release |
| latest release version = v1.67.0 |
||
| latest release date = 8th of October 2021 |
|||
| repo = https://github.com/VictoriaMetrics/VictoriaMetrics |
| repo = https://github.com/VictoriaMetrics/VictoriaMetrics |
||
| programming language = Go |
| programming language = Go |
Revision as of 13:20, 19 October 2021
Original author(s) | Aliaksandr Valialkin |
---|---|
Developer(s) | VictoriaMetrics Inc. |
Initial release | Closed Source Release: September, 2018 / 1st Open Source Release: May, 2019 |
Stable release | v1.67.0
/ 8th of October 2021 |
Repository | https://github.com/VictoriaMetrics/VictoriaMetrics |
Written in | Go |
Operating system | Linux, MacOS, FreeBSD, OpenBSD |
Available in | English |
Type | Time Series Database / Monitoring Solution |
License | Apache 2.0 |
Website | https://victoriametrics.com |
VictoriaMetrics is a free and open source time series database (TSDB) and monitoring solution. It is designed to collect, store and process real-time metrics. It supports the Prometheus pull model and various push protocols (Graphite, InfluxDB, OpenTSDB) for data ingestion. 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, with its source code available on GitHub.
History
VictoriaMetrics was created by Aliaksandr Valialkin in response to scalability issues with the Prometheus monitoring solution used at his previous place of work. Inspired by the performance and architecture of ClickHouse, a free software analytical database, Aliaksandr decided to implement a storage layer for efficient processing of time series data. He started working on a project he later named VictoriaMetrics, after his wife.
The initial, proprietary version of VictoriaMetrics was released in September, 2018.
Later in May, 2019 the open source version of VictoriaMetrics was released.
Architecture
VictoriaMetrics is distributed as 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: extended version of a single node split into three components:
- vminsert: for processing write requests, data sharding, routing and replication
- vmselect: for processing read requests, deduplication, caching
- vmstorage: for storing and processing data on disk
Additional Components
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: a utility for migrating from other systems such as Prometheus, InfluxDB or OpenTSDB
- vmanomaly: an anomaly detection service
Limitations
- 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
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
Use Cases
- Kubernetes and cloud-native monitoring
- APM (Application Performance Monitoring)
- IoT sensors, connected cars, industrial telemetry
- Financial markets data
Usage
- VictoriaMetrics is used by CERN for real-time monitoring of CMS
- Grammarly uses VictoriaMetrics for internal monitoring of the infrastructure
- Percona Monitoring and Management (PMM) solution uses VictoriaMetrics
References
- CMS Monitoring R&D: Real time monitoring and Alerts - Valentin Kuznetsov, Cornell University, Indico CERN.
- Time Series Databases - Deutsche Bundesbank.
- Why time series databases are exploding in popularity - Matt Asay, TechRepublic.
- The State of the Time Series Database Market - Rachel Stephens, RedMonk.
- Monitoring Microservices the Right Way - Dotan Horovits, InfoQ.