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.
|
|
|
|
All commands should be executed from the root directory of this repo.
|
2019-06-02 18:07:21 +02:00
|
|
|
|
2022-09-21 10:48:38 +02:00
|
|
|
To spin-up environment for single server VictoriaMetrics run the following command :
|
|
|
|
```
|
|
|
|
make docker-single-up
|
|
|
|
```
|
2021-09-01 08:18:56 +02:00
|
|
|
|
2022-09-21 10:48:38 +02:00
|
|
|
To shutdown the docker compose environment for single server run the following command:
|
|
|
|
```
|
|
|
|
make docker-single-down
|
|
|
|
```
|
|
|
|
|
|
|
|
For cluster version the command will be the following:
|
|
|
|
```
|
|
|
|
make docker-cluster-up
|
|
|
|
```
|
|
|
|
|
|
|
|
To shutdown the docker compose environment for cluster version run the following command:
|
|
|
|
```
|
|
|
|
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:
|
|
|
|
* [vmagent](#vmagent) sends scraped metrics to VictoriaMetrics;
|
|
|
|
* [grafana](#grafana) is configured with datasource pointing to VictoriaMetrics;
|
|
|
|
* [vmalert](#vmalert) is configured to query VictoriaMetrics and send alerts state
|
|
|
|
and recording rules back to it;
|
|
|
|
* [alertmanager](#alertmanager) is configured to receive notifications from vmalert.
|
|
|
|
|
|
|
|
To access `vmalert` via `vmselect`
|
|
|
|
use link [http://localhost:8428/vmalert](http://localhost:8428/vmalert/).
|
|
|
|
|
|
|
|
To access [vmui](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#vmui)
|
|
|
|
use link [http://localhost:8428/vmui](http://localhost:8428/vmui).
|
|
|
|
|
|
|
|
## VictoriaMetrics cluster
|
|
|
|
|
|
|
|
VictoriaMetrics cluster environemnt 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 of environment.
|
|
|
|
|
|
|
|
The communication scheme between components is the following:
|
|
|
|
* [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.
|
|
|
|
|
|
|
|
To access `vmalert` via `vmselect`
|
|
|
|
use link [http://localhost:8481/select/0/prometheus/vmalert](http://localhost:8481/select/0/prometheus/vmalert/).
|
|
|
|
|
|
|
|
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
|
|
|
|
2020-06-29 21:05:34 +02:00
|
|
|
vmagent is used for scraping and pushing timeseries to
|
|
|
|
VictoriaMetrics instance. It accepts Prometheus-compatible
|
|
|
|
configuration `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
|
|
|
|
2022-03-22 12:40:55 +01:00
|
|
|
vmalert evaluates alerting rules (`alerts.yml`) to track VictoriaMetrics
|
2021-08-31 11:28:02 +02:00
|
|
|
health state. It is connected with AlertManager for firing alerts,
|
|
|
|
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.
|
|
|
|
All notifications are blackholed according to `alertmanager.yml` config.
|
|
|
|
|
|
|
|
[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
|
|
|
|
|
|
|
|
Remember to pick `VictoriaMetrics - cluster` datasource when viewing `VictoriaMetrics - cluster` dashboard.
|