2021-09-01 08:18:56 +02:00
# Docker compose environment for VictoriaMetrics
2019-06-03 13:53:08 +02:00
2022-09-21 10:48:38 +02:00
Docker compose environment for VictoriaMetrics includes VictoriaMetrics components,
[Alertmanager ](https://prometheus.io/docs/alerting/latest/alertmanager/ )
and [Grafana ](https://grafana.com/ ).
2019-06-02 18:07:21 +02:00
2022-09-21 10:48:38 +02:00
For starting the docker-compose environment ensure you have docker installed and running and access to the Internet.
2022-12-06 07:05:31 +01:00
**All commands should be executed from the root directory of [the repo ](https://github.com/VictoriaMetrics/VictoriaMetrics ).**
2019-06-02 18:07:21 +02:00
2022-12-06 07:05:31 +01:00
To spin-up environment for single server VictoriaMetrics run the following command:
2022-09-21 10:48:38 +02:00
```
make docker-single-up
```
2021-09-01 08:18:56 +02:00
2022-12-06 07:05:31 +01:00
To shut down the docker-compose environment for single server run the following command:
2022-09-21 10:48:38 +02:00
```
make docker-single-down
```
For cluster version the command will be the following:
```
make docker-cluster-up
```
2022-12-06 07:05:31 +01:00
To shut down the docker compose environment for cluster version run the following command:
2022-09-21 10:48:38 +02:00
```
make docker-cluster-down
```
## VictoriaMetrics single server
2019-06-06 22:37:44 +02:00
2021-09-01 08:18:56 +02:00
VictoriaMetrics will be accessible on the following ports:
2022-03-22 12:40:55 +01:00
2019-06-06 22:37:44 +02:00
* `--graphiteListenAddr=:2003`
* `--opentsdbListenAddr=:4242`
* `--httpListenAddr=:8428`
2022-09-21 10:48:38 +02:00
The communication scheme between components is the following:
2022-12-06 07:05:31 +01:00
* [vmagent ](#vmagent ) sends scraped metrics to `single server VictoriaMetrics` ;
* [grafana ](#grafana ) is configured with datasource pointing to `single server VictoriaMetrics` ;
* [vmalert ](#vmalert ) is configured to query `single server VictoriaMetrics` and send alerts state
2022-09-21 10:48:38 +02:00
and recording rules back to it;
2022-12-06 07:05:31 +01:00
* [alertmanager ](#alertmanager ) is configured to receive notifications from `vmalert` .
2022-09-21 10:48:38 +02:00
2022-12-06 07:05:31 +01:00
To access `vmalert` use link [http://localhost:8428/vmalert ](http://localhost:8428/vmalert/ ).
2022-09-21 10:48:38 +02:00
To access [vmui ](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#vmui )
use link [http://localhost:8428/vmui ](http://localhost:8428/vmui ).
## VictoriaMetrics cluster
2022-12-06 07:05:31 +01:00
VictoriaMetrics cluster environment consists of `vminsert` , `vmstorage` and `vmselect` components.
`vmselect` has exposed port `:8481` , `vminsert` has exposed port `:8480` and the rest of components
are available only inside the environment.
2022-09-21 10:48:38 +02:00
The communication scheme between components is the following:
2022-12-06 07:05:31 +01:00
* [vmagent ](#vmagent ) sends scraped metrics to `vminsert` ;
* `vminsert` forwards data to `vmstorage` ;
* `vmselect` is connected to `vmstorage` for querying data;
* [grafana ](#grafana ) is configured with datasource pointing to `vmselect` ;
* [vmalert ](#vmalert ) is configured to query `vmselect` and send alerts state
and recording rules to `vminsert` ;
* [alertmanager ](#alertmanager ) is configured to receive notifications from `vmalert` .
2022-09-21 10:48:38 +02:00
2022-12-06 07:05:31 +01:00
To access `vmalert` use link [http://localhost:8481/select/0/prometheus/vmalert ](http://localhost:8481/select/0/prometheus/vmalert/ ).
2022-09-21 10:48:38 +02:00
To access [vmui ](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#vmui )
use link [http://localhost:8481/select/0/prometheus/vmui ](http://localhost:8481/select/0/prometheus/vmui ).
2021-09-01 08:18:56 +02:00
## vmagent
2019-06-06 22:37:44 +02:00
2022-12-06 07:05:31 +01:00
vmagent is used for scraping and pushing time series to VictoriaMetrics instance.
It accepts Prometheus-compatible configuration [prometheus.yml ](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/deployment/docker/prometheus.yml )
with listed targets for scraping.
2019-06-06 22:37:44 +02:00
2021-08-31 11:28:02 +02:00
[Web interface link ](http://localhost:8429/ ).
2021-09-01 08:18:56 +02:00
## vmalert
2021-08-31 11:28:02 +02:00
2023-02-16 19:25:10 +01:00
vmalert evaluates alerting rules [alerts.yml ](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/deployment/docker/alerts.yml )
2022-12-06 07:05:31 +01:00
to track VictoriaMetrics health state. It is connected with AlertManager for firing alerts,
2021-08-31 11:28:02 +02:00
and with VictoriaMetrics for executing queries and storing alert's state.
[Web interface link ](http://localhost:8880/ ).
2021-09-01 08:18:56 +02:00
## alertmanager
2021-08-31 11:28:02 +02:00
AlertManager accepts notifications from `vmalert` and fires alerts.
2023-02-16 19:25:10 +01:00
All notifications are blackholed according to [alertmanager.yml ](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/deployment/docker/alertmanager.yml ) config.
2021-08-31 11:28:02 +02:00
[Web interface link ](http://localhost:9093/ ).
2021-09-01 08:18:56 +02:00
## Grafana
2019-06-06 22:37:44 +02:00
To access service open following [link ](http://localhost:3000 ).
2022-03-22 12:40:55 +01:00
Default credential:
2019-06-06 22:37:44 +02:00
* login - `admin`
* password - `admin`
Grafana is provisioned by default with following entities:
2022-03-22 12:40:55 +01:00
2022-09-21 10:48:38 +02:00
* `VictoriaMetrics` datasource
* `VictoriaMetrics - cluster` datasource
* `VictoriaMetrics overview` dashboard
* `VictoriaMetrics - cluster` dashboard
* `VictoriaMetrics - vmagent` dashboard
* `VictoriaMetrics - vmalert` dashboard
2023-02-16 19:25:10 +01:00
Remember to pick `VictoriaMetrics - cluster` datasource when viewing `VictoriaMetrics - cluster` dashboard.