VictoriaMetrics benchmark helm chart is used for deploying a simple benchmark setup to k8s cluster. In VictoriaMetrics we use it to run tests against our cloud solution.
The helm chart deploys three pods:
- nodeexporter + nginx (2 containers in one pod), where nodeexporter used as a metrics source and nginx as cache-server to reduce pressure on nodeexporter;
- vmagent to scrape nodeexporter metrics and forward via remote-write to configured destination;
- vmalert + alertmanager (2 containers in one pod), where vmalert executes alerting rules and sends notifications to alertmanager. Alertmanager is configured to blackhole received notifications. vmalert + alertmanager pod is optional and used for generating the read load. To disable pod creation set
Please, check values.yaml for configuration params.
How to run
Check Makefile for make commands.
Please check the
RELEASE_NAME variables in Makefile before applying any commands.
make install # to install the chart make delete # to delete the chart
resources section values.yaml and adjust it accordingly to configured workload. The most of resources are supposed to be consumed by vmagent and nginx+nodeexporter pods.
vmagent is configured to scrape and send its own metrics with job label
vmagent. These metrics will be written to the configured
.Values.vmagent.url.remoteWrite destination. Use grafana dashboard to monitor vmagent's state.
vmagent is not aware of
url.remoteWrite VictoriaMetrics configuration or its components, so it can't scrape their metrics. Please, configure monitoring of
remoteWrite destination manually by setting up an external monitoring or updating configmap.yaml with corresponding targets. Use grafana dashboards for single or cluster versions of VictoriaMetrics.