2021-04-07 12:39:16 +02:00
---
2023-10-13 13:54:33 +02:00
sort: 22
weight: 22
2023-04-30 12:31:45 +02:00
title: Quick start
menu:
docs:
2023-10-13 13:54:33 +02:00
parent: 'victoriametrics'
weight: 22
2023-04-30 12:31:45 +02:00
aliases:
- /Quick-Start.html
2021-04-07 12:39:16 +02:00
---
2022-04-12 13:22:53 +02:00
# Quick start
2022-05-17 14:06:58 +02:00
## How to install
VictoriaMetrics is distributed in two forms:
* [Single-server-VictoriaMetrics ](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html ) - all-in-one
binary, which is very easy to use and maintain.
Single-server-VictoriaMetrics perfectly scales vertically and easily handles millions of metrics/s;
* [VictoriaMetrics Cluster ](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html ) - set of components
for building horizontally scalable clusters.
2022-04-12 13:22:53 +02:00
Single-server-VictoriaMetrics VictoriaMetrics is available as:
* [Managed VictoriaMetrics at AWS ](https://aws.amazon.com/marketplace/pp/prodview-4tbfq5icmbmyc )
2022-05-17 14:06:58 +02:00
* [Docker images ](https://hub.docker.com/r/victoriametrics/victoria-metrics/ )
2022-04-12 13:22:53 +02:00
* [Snap packages ](https://snapcraft.io/victoriametrics )
* [Helm Charts ](https://github.com/VictoriaMetrics/helm-charts#list-of-charts )
2023-10-18 20:06:23 +02:00
* [Binary releases ](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/latest )
2022-05-17 14:06:58 +02:00
* [Source code ](https://github.com/VictoriaMetrics/VictoriaMetrics ).
See [How to build from sources ](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#how-to-build-from-sources )
2022-04-12 13:22:53 +02:00
* [VictoriaMetrics on Linode ](https://www.linode.com/marketplace/apps/victoriametrics/victoriametrics/ )
* [VictoriaMetrics on DigitalOcean ](https://marketplace.digitalocean.com/apps/victoriametrics-single )
2022-05-17 14:06:58 +02:00
Just download VictoriaMetrics and follow
[these instructions ](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#how-to-start-victoriametrics ).
Then read [Prometheus setup ](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#prometheus-setup )
and [Grafana setup ](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#grafana-setup ) docs.
2022-07-11 20:23:19 +02:00
VictoriaMetrics is developed at a fast pace, so it is recommended periodically checking the [CHANGELOG ](https://docs.victoriametrics.com/CHANGELOG.html ) and performing [regular upgrades ](https://docs.victoriametrics.com/#how-to-upgrade-victoriametrics ).
2022-04-12 13:22:53 +02:00
2022-05-17 14:06:58 +02:00
### Starting VM-Single via Docker
2019-12-02 21:06:39 +01:00
2022-05-17 14:06:58 +02:00
The following commands download the latest available
[Docker image of VictoriaMetrics ](https://hub.docker.com/r/victoriametrics/victoria-metrics )
and start it at port 8428, while storing the ingested data at `victoria-metrics-data` subdirectory
under the current directory:
< div class = "with-copy" markdown = "1" >
2019-11-30 19:36:10 +01:00
2022-06-19 21:57:53 +02:00
```console
2022-01-03 16:28:38 +01:00
docker pull victoriametrics/victoria-metrics:latest
docker run -it --rm -v `pwd` /victoria-metrics-data:/victoria-metrics-data -p 8428:8428 victoriametrics/victoria-metrics:latest
```
2019-11-30 19:36:10 +01:00
2022-05-17 14:06:58 +02:00
< / div >
Open < a href = "http://localhost:8428" > http://localhost:8428< / a > in web browser
and read [these docs ](https://docs.victoriametrics.com/#operation ).
2019-11-30 19:36:10 +01:00
2022-05-17 14:06:58 +02:00
There is also [VictoriaMetrics cluster ](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html )
- horizontally scalable installation, which scales to multiple nodes.
2022-03-22 12:40:55 +01:00
2022-05-17 14:06:58 +02:00
### Starting VM-Cluster via Docker
2022-04-12 13:22:53 +02:00
2022-05-17 14:06:58 +02:00
The following commands clone the latest available
2022-09-21 10:48:38 +02:00
[VictoriaMetrics repository ](https://github.com/VictoriaMetrics/VictoriaMetrics )
and start the docker container via 'make docker-cluster-up'. Further customization is possible by editing
the [docker-compose-cluster.yml ](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/deployment/docker/docker-compose-cluster.yml )
2022-05-17 14:06:58 +02:00
file.
2022-04-12 13:22:53 +02:00
2022-05-17 14:06:58 +02:00
< div class = "with-copy" markdown = "1" >
2022-04-12 13:22:53 +02:00
2022-06-19 21:57:53 +02:00
```console
2023-05-31 16:39:38 +02:00
git clone https://github.com/VictoriaMetrics/VictoriaMetrics & & cd VictoriaMetrics
2022-09-21 10:48:38 +02:00
make docker-cluster-up
2022-04-12 13:22:53 +02:00
```
2022-05-17 14:06:58 +02:00
< / div >
2022-09-21 10:48:38 +02:00
See more details [here ](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/deployment/docker#readme ).
2022-04-12 13:22:53 +02:00
* [Cluster setup ](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#cluster-setup )
2022-05-17 14:06:58 +02:00
## Write data
2022-04-12 13:22:53 +02:00
2022-05-17 14:06:58 +02:00
There are two main models in monitoring for data collection:
[push ](https://docs.victoriametrics.com/keyConcepts.html#push-model )
and [pull ](https://docs.victoriametrics.com/keyConcepts.html#pull-model ).
Both are used in modern monitoring and both are supported by VictoriaMetrics.
2022-04-12 13:22:53 +02:00
2022-05-17 14:06:58 +02:00
See more details on [writing data here ](https://docs.victoriametrics.com/keyConcepts.html#write-data ).
2022-04-12 13:22:53 +02:00
2022-05-17 14:06:58 +02:00
## Query data
2022-04-12 13:22:53 +02:00
2022-05-17 14:06:58 +02:00
VictoriaMetrics provides an
[HTTP API ](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#prometheus-querying-api-usage )
for serving read queries. The API is used in various integrations such as
[Grafana ](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#grafana-setup ).
The same API is also used by
[VMUI ](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#vmui ) - graphical User Interface
for querying and visualizing metrics.
2022-04-12 13:22:53 +02:00
2023-02-09 13:39:23 +01:00
[MetricsQL ](https://docs.victoriametrics.com/MetricsQL.html ) - is the query language for executing read queries
2022-05-17 14:06:58 +02:00
in VictoriaMetrics. MetricsQL is a [PromQL ](https://prometheus.io/docs/prometheus/latest/querying/basics )
-like query language with a powerful set of functions and features for working specifically with time series data.
See more details on [querying data here ](https://docs.victoriametrics.com/keyConcepts.html#query-data )
## Alerting
It is not possible to physically trace all changes on graphs all the time, that is why alerting exists.
In [vmalert ](https://docs.victoriametrics.com/vmalert.html ) it is possible to create a set of conditions
based on PromQL and MetricsQL queries that will send a notification when such conditions are met.
## Data migration
Migrating data from other TSDBs to VictoriaMetrics is as simple as importing data via any of
[supported formats ](https://docs.victoriametrics.com/keyConcepts.html#push-model ).
The migration might get easier when using [vmctl ](https://docs.victoriametrics.com/vmctl.html ) - VictoriaMetrics
command line tool. It supports the following databases for migration to VictoriaMetrics:
* [Prometheus using snapshot API ](https://docs.victoriametrics.com/vmctl.html#migrating-data-from-prometheus );
* [Thanos ](https://docs.victoriametrics.com/vmctl.html#migrating-data-from-thanos );
* [InfluxDB ](https://docs.victoriametrics.com/vmctl.html#migrating-data-from-influxdb-1x );
* [OpenTSDB ](https://docs.victoriametrics.com/vmctl.html#migrating-data-from-opentsdb );
* [Migrate data between VictoriaMetrics single and cluster versions ](https://docs.victoriametrics.com/vmctl.html#migrating-data-from-victoriametrics ).
## Productionisation
When going to production with VictoriaMetrics we recommend following the recommendations.
### Monitoring
Each VictoriaMetrics component emits its own metrics with various details regarding performance
and health state. Docs for the components also contain a `Monitoring` section with an explanation
of what and how should be monitored. For example,
[Single-server-VictoriaMetrics Monitoring ](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#monitoring ).
VictoriaMetric team prepared a list of [Grafana dashboards ](https://grafana.com/orgs/victoriametrics/dashboards )
for the main components. Each dashboard contains a lot of useful information and tips. It is recommended
to have these dashboards installed and up to date.
2023-08-03 10:21:18 +02:00
Using the [recommended alerting rules ](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/deployment/docker#alerts )
2022-05-17 14:06:58 +02:00
versions would also help to identify and notify about issues with the system.
2022-09-23 07:12:15 +02:00
The rule of thumb is to have a separate installation of VictoriaMetrics or any other monitoring system
2022-05-17 14:06:58 +02:00
to monitor the production installation of VictoriaMetrics. This would make monitoring independent and
will help identify problems with the main monitoring installation.
2022-09-23 07:12:15 +02:00
See more details in the article [VictoriaMetrics Monitoring ](https://victoriametrics.com/blog/victoriametrics-monitoring/ ).
2022-05-17 14:06:58 +02:00
### Capacity planning
See capacity planning sections in [docs ](https://docs.victoriametrics.com ) for
2023-02-09 13:39:23 +01:00
[Single-server-VictoriaMetrics ](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#capacity-planning )
2022-05-17 14:06:58 +02:00
and [VictoriaMetrics Cluster ](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#capacity-planning ).
Capacity planning isn't possible without [monitoring ](#monitoring ), so consider configuring it first.
Understanding resource usage and performance of VictoriaMetrics also requires knowing the tech terms
[active series ](https://docs.victoriametrics.com/FAQ.html#what-is-an-active-time-series ),
[churn rate ](https://docs.victoriametrics.com/FAQ.html#what-is-high-churn-rate ),
[cardinality ](https://docs.victoriametrics.com/FAQ.html#what-is-high-cardinality ),
[slow inserts ](https://docs.victoriametrics.com/FAQ.html#what-is-a-slow-insert ).
All of them are present in [Grafana dashboards ](https://grafana.com/orgs/victoriametrics/dashboards ).
### Data safety
It is recommended to read [Replication and data safety ](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#replication-and-data-safety ),
[Why replication doesn’ t save from disaster? ](https://valyala.medium.com/speeding-up-backups-for-big-time-series-databases-533c1a927883 )
and [backups ](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#backups ).
2022-04-12 13:22:53 +02:00
2022-05-17 14:06:58 +02:00
### Configuring limits
2022-04-12 13:22:53 +02:00
2022-05-17 14:06:58 +02:00
To avoid excessive resource usage or performance degradation limits must be in place:
* [Resource usage limits ](https://docs.victoriametrics.com/FAQ.html#how-to-set-a-memory-limit-for-victoriametrics-components );
2022-07-11 20:23:19 +02:00
* [Cardinality limiter ](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#cardinality-limiter ).
2023-01-28 00:22:21 +01:00
2023-01-28 00:39:27 +01:00
### Security recommendations
2023-01-28 00:22:21 +01:00
2023-01-28 00:39:27 +01:00
* [Security recommendations for single-node VictoriaMetrics ](https://docs.victoriametrics.com/#security )
* [Security recommendations for cluster version of VictoriaMetrics ](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#security )