VictoriaMetrics/deployment/docker
hagen1778 a99d26633b
docs: remove slug from Grafana dashboard URLs
Each Grafana dashboard has unique ID which can be used to fetch the dashboard
from grafana.com: https://grafana.com/grafana/dashboards/11176
The same dashboard can be accessed via URL with slug: https://grafana.com/grafana/dashboards/11176-victoriametrics-cluster/
But using slug implies that any change to dashboard name will break the link.
So it is better to just use ID, so the dashboard URL will never break.

This is follow-up for ff33e60a3d

Signed-off-by: hagen1778 <roman@victoriametrics.com>
2024-01-22 00:23:30 +02:00
..
base all: run apk update && apk upgrade in base Alpine Docker image in order to get all the recent security fixes 2023-02-09 14:03:02 -08:00
builder CI: speedup build by 2.4x. restore nightly build (#3772) 2023-02-07 09:31:00 -08:00
provisioning added field version to the response for /api/v1/status/buildinfo API for using more efficient API in Grafana for receiving label values, added additional info about setup Grafana datasource (#5370) (#5437) 2023-12-07 16:41:56 +02:00
victorialogs deployment: update reference to VictoriaLogs from v0.4.1-victorialogs to v0.4.2-victorialogs 2023-11-15 20:47:14 +01:00
vmanomaly/vmanomaly-vmalert-guide docs: vmanomaly update vmanomaly + vmalert guide (#5636) 2024-01-22 00:19:15 +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 docs: remove slug from Grafana dashboard URLs 2024-01-22 00:23:30 +02:00
alerts-health.yml alerts: simplify aggregation of alerting rules 2023-12-11 15:38:16 +01:00
alerts-vmagent.yml docs: remove slug from Grafana dashboard URLs 2024-01-22 00:23:30 +02:00
alerts-vmalert.yml docs: remove slug from Grafana dashboard URLs 2024-01-22 00:23:30 +02:00
alerts.yml deployment/alerts: add job label to DiskRunsOutOfSpace alerting rule 2024-01-16 22:21:34 +02:00
auth-cluster.yml Docker add vmauth (#5057) 2023-10-01 21:24:01 +02:00
docker-compose-cluster.yml deployment: update VictoriaMetrics images from v1.95.1 to v1.96.0 2023-12-13 01:21:12 +02:00
docker-compose.yml deployment: update VictoriaMetrics images from v1.95.1 to v1.96.0 2023-12-13 01:21:12 +02:00
fluent-bit.conf deployment/docker: add VictoriaLogs (#4929) 2023-09-01 10:46:32 +02:00
Makefile deployment/docker: update Go builder from Go1.21.5 to Go1.21.6 2024-01-17 00:05:24 +02:00
prometheus-cluster.yml Docker add vmauth (#5057) 2023-10-01 21:24:01 +02:00
prometheus.yml Update VL daashboard. Add Resource Section, add ds and job filters, a… (#4981) 2023-09-10 15:05:19 +02:00
README.md Docker add vmauth (#5057) 2023-10-01 21:24:01 +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.

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

make docker-single-up

To shut down 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 shut down the docker compose environment for cluster version run the following command:

make docker-cluster-down

VictoriaMetrics single server

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.

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.

VictoriaMetrics cluster

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.

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

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.

Alerts

See below a list of recommended alerting rules for various VictoriaMetrics components for running in production. Some of the 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

VictoriaLogs will be accessible on the following port: --httpListenAddr=:9428

Fluent Bit is used to send logs to VictoriaLogs instance. Fluent Bit is configured to send logs from running containers to VictoriaLogs instance. Additionally, it is configured to listen for syslog logs on port 5140 and send them to VictoriaLogs instance.

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

Please, also see how to monitor VictoriaLogs installations.