7ae038766c
Previously the `quotesEscape` function was escaping only double quotes. This wasn't enough, since the input string could contain other special chars, which must be escaped when put inside JSON string. For example, carriage return and line feed chars (\n\r), backslash char, etc. This led to the following issues, which were improperly fixed: - https://github.com/VictoriaMetrics/VictoriaMetrics/issues/890 - this issue was "fixed" by introducing the `crlfEscape` function, which led to unnecessary complications in user templates, while not fixing various corner cases such as backslash chars in the input string. See |
||
---|---|---|
.. | ||
base | ||
builder | ||
provisioning | ||
alertmanager.yml | ||
alerts-cluster.yml | ||
alerts-health.yml | ||
alerts-vmagent.yml | ||
alerts.yml | ||
docker-compose-cluster.yml | ||
docker-compose.yml | ||
Makefile | ||
prometheus-cluster.yml | ||
prometheus.yml | ||
README.md |
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 this repo.
To spin-up environment for single server VictoriaMetrics run the following command :
make docker-single-up
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
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 VictoriaMetrics;
- grafana is configured with datasource pointing to VictoriaMetrics;
- vmalert is configured to query VictoriaMetrics and send alerts state and recording rules back to it;
- alertmanager is configured to receive notifications from vmalert.
To access vmalert
via vmselect
use link http://localhost:8428/vmalert.
To access vmui use link 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 sends scraped metrics to vminsert;
- vminsert forwards data to vmstorage;
- vmselect is connected to vmstorage for querying data;
- grafana is configured with datasource pointing to vmselect;
- vmalert is configured to query vmselect and send alerts state and recording rules to vminsert;
- alertmanager is configured to receive notifications from vmalert.
To access vmalert
via vmselect
use link http://localhost:8481/select/0/prometheus/vmalert.
To access vmui use link http://localhost:8481/select/0/prometheus/vmui.
vmagent
vmagent is used for scraping and pushing timeseries to
VictoriaMetrics instance. It accepts Prometheus-compatible
configuration prometheus.yml
with listed targets for scraping.
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.
alertmanager
AlertManager accepts notifications from vmalert
and fires alerts.
All notifications are blackholed according to alertmanager.yml
config.
Grafana
To access service open following link.
Default credential:
- login -
admin
- password -
admin
Grafana is provisioned by default with following entities:
VictoriaMetrics
datasourceVictoriaMetrics - cluster
datasourceVictoriaMetrics overview
dashboardVictoriaMetrics - cluster
dashboardVictoriaMetrics - vmagent
dashboardVictoriaMetrics - vmalert
dashboard
Remember to pick VictoriaMetrics - cluster
datasource when viewing VictoriaMetrics - cluster
dashboard.