VictoriaMetrics/deployment/docker
Aliaksandr Valialkin ac507466c3
all: suppress InvalidDefaultArgInFrom warning emitted by docker build when building Docker packages via make package-* command
Recent versions of `docker build` started generating the InvalidDefaultArgInFrom warning if Dockerfile contains
an ARG without default value. While this warning doesn't affect building Docker packages via `make package-*` commands,
it is better suppressing the warning, so it doesn't clutter `make package-*` output with the noise,
which can hide real issues in the future.
2024-09-03 14:05:43 +02:00
..
assets deployment: add topology visualizations (#5858) 2024-02-23 18:55:39 +01:00
base all: suppress InvalidDefaultArgInFrom warning emitted by docker build when building Docker packages via make package-* command 2024-09-03 14:05:43 +02:00
builder all: suppress InvalidDefaultArgInFrom warning emitted by docker build when building Docker packages via make package-* command 2024-09-03 14:05:43 +02:00
provisioning deployment: fix incorrect link to vmui from VictoriaMetrics plugin in Grafana 2024-06-25 13:58:59 +02:00
victorialogs docs/VictoriaLogs/CHANGELOG.md: cut v0.28.0-victorialogs release 2024-07-10 03:08:26 +02:00
vm-datasource docs: update refereneces to victoriametrics-datasource plugin 2024-07-05 09:49:28 +02:00
vmanomaly deployment: bump VM version to 1.103.0 2024-08-30 11:17:26 +02:00
alertmanager.yml deployment: add vmalert+alertmanager services and list of default alerts for cluster version (#1187) 2021-04-05 22:29:04 +03:00
alerts-cluster.yml deployment/alerts: rm ProcessNearFDLimits alert from alerts-cluster 2024-05-24 16:08:39 +02:00
alerts-health.yml deployment docker: use line formatting in alerts-health fixes #6393 (#6394) 2024-06-03 11:53:42 +02:00
alerts-vmagent.yml deployment/alerts: add missing description for VMagent alerts (#6921) 2024-09-03 10:49:32 +02:00
alerts-vmalert.yml removed exclusion of recording label in alert expression, which is utilized in alert annotations (#6441) 2024-06-10 12:41:48 +02:00
alerts-vmauth.yml dashboards: add dashboard and alerts for vmauth (#6491) 2024-06-25 11:17:04 +02:00
alerts.yml lib/mergeset: adds tracking for indexdb records drop (#6297) 2024-05-24 16:08:34 +02:00
auth-cluster.yml all: replace old https://docs.victoriametrics.com/vmauth.html url with the new one - https://docs.victoriametrics.com/vmauth/ 2024-04-18 01:50:16 +02:00
docker-compose-cluster.yml deployment: bump VM version to 1.103.0 2024-08-30 11:17:26 +02:00
docker-compose-victorialogs.yml deployment: bump VM version to 1.103.0 2024-08-30 11:17:26 +02:00
docker-compose.yml deployment: bump VM version to 1.103.0 2024-08-30 11:17:26 +02:00
fluent-bit.conf deployment: create a separate env for VictoriaLogs (#5857) 2024-02-27 13:13:42 +02:00
Makefile deployment/docker: update Go builder from Go1.22.5 to Go1.23.0 (#6861) 2024-08-22 23:56:12 +02:00
prometheus-cluster.yml dashboards: add dashboard and alerts for vmauth (#6491) 2024-06-25 11:17:04 +02:00
prometheus-victorialogs.yml deployment: create a separate env for VictoriaLogs (#5857) 2024-02-27 13:13:42 +02:00
prometheus.yml deployment: create a separate env for VictoriaLogs (#5857) 2024-02-27 13:13:42 +02:00
README.md docs: update refereneces to victoriametrics-datasource plugin 2024-07-05 09:49:28 +02:00

Docker compose environment for VictoriaMetrics

Docker compose environment for VictoriaMetrics includes VictoriaMetrics components, Alertmanager and Grafana.

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 the repo.

VictoriaMetrics single server

To spin-up environment with VictoriaMetrics single server run the following command:

make docker-single-up 

VictoriaMetrics will be accessible on the following ports:

  • --graphiteListenAddr=:2003
  • --opentsdbListenAddr=:4242
  • --httpListenAddr=:8428

The communication scheme between components is the following:

  • vmagent sends scraped metrics to single server VictoriaMetrics;
  • grafana is configured with datasource pointing to single server VictoriaMetrics;
  • vmalert is configured to query single server VictoriaMetrics and send alerts state and recording rules back to it;
  • alertmanager is configured to receive notifications from vmalert.
VictoriaMetrics single-server deployment

To access Grafana use link http://localhost:3000.

To access vmui use link http://localhost:8428/vmui.

To access vmalert use link http://localhost:8428/vmalert.

To shutdown environment execute the following command:

make docker-single-down

VictoriaMetrics cluster

To spin-up environment with VictoriaMetrics cluster run the following command:

make docker-cluster-up

VictoriaMetrics cluster environment consists of vminsert, vmstorage and vmselect components. vminsert has exposed port :8480, access to vmselect components goes through vmauth on port :8427, and the rest of components are available only inside the environment.

The communication scheme between components is the following:

  • vmagent sends scraped metrics to vminsert;
  • vminsert forwards data to vmstorage;
  • vmselects are connected to vmstorage for querying data;
  • vmauth balances incoming read requests among vmselects;
  • grafana is configured with datasource pointing to vmauth;
  • vmalert is configured to query vmselects via vmauth and send alerts state and recording rules to vminsert;
  • alertmanager is configured to receive notifications from vmalert.
VictoriaMetrics cluster deployment

To access Grafana use link http://localhost:3000.

To access vmui use link http://localhost:8427/select/0/prometheus/vmui/.

To access vmalert use link http://localhost:8427/select/0/prometheus/vmalert/.

To shutdown environment execute the following command:

make docker-cluster-down

vmagent

vmagent is used for scraping and pushing time series to VictoriaMetrics instance. It accepts Prometheus-compatible configuration prometheus.yml with listed targets for scraping.

Web interface link.

vmauth

vmauth acts as a balancer to spread the load across vmselect's. Grafana and vmalert use vmauth for read queries. vmauth config is available here

vmalert

vmalert evaluates alerting rules alerts.yml to track VictoriaMetrics health state. It is connected with AlertManager for firing alerts, and with VictoriaMetrics for executing queries and storing alert's state.

Web interface link.

alertmanager

AlertManager accepts notifications from vmalert and fires alerts. All notifications are blackholed according to alertmanager.yml config.

Web interface link.

Grafana

To access service open following link.

Default credential:

  • login - admin
  • password - admin

Grafana is provisioned by default with following entities:

  • 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.

Optionally, environment with VictoriaMetrics Grafana datasource can be started with the following commands:

make docker-single-vm-datasource-up    # start single server
make docker-single-vm-datasource-down  # shut down single server

make docker-cluster-vm-datasource-up   # start cluster
make docker-cluster-vm-datasource-down # shutdown cluster

Alerts

See below a list of recommended alerting rules for various VictoriaMetrics components for running in production. Some alerting rules thresholds are just recommendations and could require an adjustment. The list of alerting rules is the following:

Please, also see how to monitor VictoriaMetrics installations.

VictoriaLogs server

To spin-up environment with VictoriaLogs run the following command:

make docker-victorialogs-up

VictoriaLogs will be accessible on the --httpListenAddr=:9428 port. In addition to VictoriaLogs server, the docker compose contains the following componetns:

  • fluentbit service for collecting docker logs and sending them to VictoriaLogs;
  • VictoriaMetrics single server to collect metrics from VictoriaLogs and fluentbit;
  • grafana is configured with VictoriaLogs datasource.

To access Grafana use link http://localhost:3000.

To access VictoriaLogs UI use link http://localhost:9428/select/vmui.

Please, also see how to monitor VictoriaLogs installations.

To shutdown environment execute the following command:

make docker-victorialogs-down

Please see more examples on integration of VictoriaLogs with other log shippers below: