Enjoying this site? Please to help keep the Snapstats.org lights on.
Description
VictoriaMetrics can be used as long-term storage for Prometheus or for vmagent. See these docs for details.
- Supports Prometheus querying API, so it can be used as Prometheus drop-in replacement in Grafana. VictoriaMetrics implements MetricsQL, https://github.com/VictoriaMetrics/VictoriaMetrics/wiki/MetricsQL query language, which is inspired by PromQL.
- Supports global query view. Multiple Prometheus instances may write data into VictoriaMetrics. Later this data may be used in a single query.
- High performance and good scalability for both inserts and selects.
- High data compression, so up to 70x more data points may be crammed into limited storage comparing to TimescaleDB.
- Optimized for storage with high-latency IO and low IOPS (HDD and network storage in AWS, Google Cloud, Microsoft Azure, etc).
- A single-node VictoriaMetrics may substitute moderately sized clusters built with competing solutions such as Thanos, M3DB, Cortex, InfluxDB or TimescaleDB.
- Easy operation:
- VictoriaMetrics consists of a single without external dependencies.
- All the configuration is done via explicit command-line flags with reasonable defaults.
- All the data is stored in a single directory pointed by
-storageDataPath
flag. - Easy and fast backups from to S3 or GCS with [vmbackup] / [vmrestore].
- Storage is protected from corruption on unclean shutdown (i.e. OOM, hardware reset or
kill -9
) thanks to the storage architecture. - Supports metrics' scraping, ingestion and backfilling via the following protocols:
- [Metrics from Prometheus exporters]
such as node_exporter.
- Prometheus remote write API(
- InfluxDB line protocol over HTTP, TCP and UDP.
- Graphite plaintext protocol
if
-graphiteListenAddr
is set. - OpenTSDB put message, if
-opentsdbListenAddr
is set. - HTTP OpenTSDB /api/put requests, if
-opentsdbHTTPListenAddr
is set. - JSON line format.
- Native binary format.
- Prometheus exposition format.
- Arbitrary CSV data.
- [Metrics from Prometheus exporters]
such as node_exporter.
- Supports metrics' relabeling. See these docs for details.
- Ideally works with big amounts of time series data from Kubernetes, IoT sensors, connected cars, industrial telemetry, financial data and various Enterprise workloads.
- Has open source cluster version (https://github.com/VictoriaMetrics/VictoriaMetrics/tree/cluster).
** Configuration management**
- Prometheus scrape config can be edited with your favorite editor, its located at
vi /var/snap/victoriametrics/current/etc/victoriametrics-scrape-config.yaml
after changes, you can trigger config reread withcurl localhost:8248/-/reload
. - Configuration tuning is possible with editing extra_flags:
echo 'FLAGS="-selfScrapeInterval=10s -search.logSlowQueryDuration=20s"' > /var/snap/victoriametrics/current/extra_flags snap restart victoriametrics
- Data folder located at
/var/snap/victoriametrics/current/var/lib/victoriametrics/
.