docs: replace bash code block type with console (#2746)

This commit is contained in:
Artem Navoiev 2022-06-19 22:57:53 +03:00 committed by GitHub
parent c022c4af0a
commit 954a7a6fc6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 252 additions and 252 deletions

View File

@ -1006,7 +1006,7 @@ Released at 26-11-2020
* FEATURE: added [Snap package for single-node VictoriaMetrics](https://snapcraft.io/victoriametrics). This simplifies installation under Ubuntu to a single command: * FEATURE: added [Snap package for single-node VictoriaMetrics](https://snapcraft.io/victoriametrics). This simplifies installation under Ubuntu to a single command:
```bash ```console
snap install victoriametrics snap install victoriametrics
``` ```

View File

@ -115,7 +115,7 @@ By default images are built on top of [alpine](https://hub.docker.com/_/scratch)
It is possible to build an image on top of any other base image by setting it via `<ROOT_IMAGE>` environment variable. It is possible to build an image on top of any other base image by setting it via `<ROOT_IMAGE>` environment variable.
For example, the following command builds images on top of [scratch](https://hub.docker.com/_/scratch) image: For example, the following command builds images on top of [scratch](https://hub.docker.com/_/scratch) image:
```bash ```console
ROOT_IMAGE=scratch make package ROOT_IMAGE=scratch make package
``` ```
@ -448,7 +448,7 @@ Example command for collecting cpu profile from `vmstorage` (replace `0.0.0.0` w
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl http://0.0.0.0:8482/debug/pprof/profile > cpu.pprof curl http://0.0.0.0:8482/debug/pprof/profile > cpu.pprof
``` ```
@ -458,7 +458,7 @@ Example command for collecting memory profile from `vminsert` (replace `0.0.0.0`
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl http://0.0.0.0:8480/debug/pprof/heap > mem.pprof curl http://0.0.0.0:8480/debug/pprof/heap > mem.pprof
``` ```

View File

@ -40,7 +40,7 @@ under the current directory:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
docker pull victoriametrics/victoria-metrics:latest docker pull victoriametrics/victoria-metrics:latest
docker run -it --rm -v `pwd`/victoria-metrics-data:/victoria-metrics-data -p 8428:8428 victoriametrics/victoria-metrics:latest docker run -it --rm -v `pwd`/victoria-metrics-data:/victoria-metrics-data -p 8428:8428 victoriametrics/victoria-metrics:latest
``` ```
@ -63,7 +63,7 @@ file.
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
git clone https://github.com/VictoriaMetrics/VictoriaMetrics --branch cluster && git clone https://github.com/VictoriaMetrics/VictoriaMetrics --branch cluster &&
cd VictoriaMetrics/deployment/docker && cd VictoriaMetrics/deployment/docker &&
docker-compose up docker-compose up

View File

@ -164,7 +164,7 @@ Then apply new config via the following command:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
kill -HUP `pidof prometheus` kill -HUP `pidof prometheus`
``` ```
@ -328,7 +328,7 @@ VictoriaMetrics doesn't check `DD_API_KEY` param, so it can be set to arbitrary
Example on how to send data to VictoriaMetrics via DataDog "submit metrics" API from command line: Example on how to send data to VictoriaMetrics via DataDog "submit metrics" API from command line:
```bash ```console
echo ' echo '
{ {
"series": [ "series": [
@ -354,7 +354,7 @@ The imported data can be read via [export API](https://docs.victoriametrics.com/
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl http://localhost:8428/api/v1/export -d 'match[]=system.load.1' curl http://localhost:8428/api/v1/export -d 'match[]=system.load.1'
``` ```
@ -418,7 +418,7 @@ to local VictoriaMetrics using `curl`:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -d 'measurement,tag1=value1,tag2=value2 field1=123,field2=1.23' -X POST 'http://localhost:8428/write' curl -d 'measurement,tag1=value1,tag2=value2 field1=123,field2=1.23' -X POST 'http://localhost:8428/write'
``` ```
@ -429,7 +429,7 @@ After that the data may be read via [/api/v1/export](#how-to-export-data-in-json
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://localhost:8428/api/v1/export' -d 'match={__name__=~"measurement_.*"}' curl -G 'http://localhost:8428/api/v1/export' -d 'match={__name__=~"measurement_.*"}'
``` ```
@ -457,7 +457,7 @@ Comma-separated list of expected databases can be passed to VictoriaMetrics via
Enable Graphite receiver in VictoriaMetrics by setting `-graphiteListenAddr` command line flag. For instance, Enable Graphite receiver in VictoriaMetrics by setting `-graphiteListenAddr` command line flag. For instance,
the following command will enable Graphite receiver in VictoriaMetrics on TCP and UDP port `2003`: the following command will enable Graphite receiver in VictoriaMetrics on TCP and UDP port `2003`:
```bash ```console
/path/to/victoria-metrics-prod -graphiteListenAddr=:2003 /path/to/victoria-metrics-prod -graphiteListenAddr=:2003
``` ```
@ -466,7 +466,7 @@ to the VictoriaMetrics host in `StatsD` configs.
Example for writing data with Graphite plaintext protocol to local VictoriaMetrics using `nc`: Example for writing data with Graphite plaintext protocol to local VictoriaMetrics using `nc`:
```bash ```console
echo "foo.bar.baz;tag1=value1;tag2=value2 123 `date +%s`" | nc -N localhost 2003 echo "foo.bar.baz;tag1=value1;tag2=value2 123 `date +%s`" | nc -N localhost 2003
``` ```
@ -476,7 +476,7 @@ After that the data may be read via [/api/v1/export](#how-to-export-data-in-json
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://localhost:8428/api/v1/export' -d 'match=foo.bar.baz' curl -G 'http://localhost:8428/api/v1/export' -d 'match=foo.bar.baz'
``` ```
@ -518,7 +518,7 @@ The same protocol is used for [ingesting data in KairosDB](https://kairosdb.gith
Enable OpenTSDB receiver in VictoriaMetrics by setting `-opentsdbListenAddr` command line flag. For instance, Enable OpenTSDB receiver in VictoriaMetrics by setting `-opentsdbListenAddr` command line flag. For instance,
the following command enables OpenTSDB receiver in VictoriaMetrics on TCP and UDP port `4242`: the following command enables OpenTSDB receiver in VictoriaMetrics on TCP and UDP port `4242`:
```bash ```console
/path/to/victoria-metrics-prod -opentsdbListenAddr=:4242 /path/to/victoria-metrics-prod -opentsdbListenAddr=:4242
``` ```
@ -528,7 +528,7 @@ Example for writing data with OpenTSDB protocol to local VictoriaMetrics using `
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
echo "put foo.bar.baz `date +%s` 123 tag1=value1 tag2=value2" | nc -N localhost 4242 echo "put foo.bar.baz `date +%s` 123 tag1=value1 tag2=value2" | nc -N localhost 4242
``` ```
@ -539,7 +539,7 @@ After that the data may be read via [/api/v1/export](#how-to-export-data-in-json
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://localhost:8428/api/v1/export' -d 'match=foo.bar.baz' curl -G 'http://localhost:8428/api/v1/export' -d 'match=foo.bar.baz'
``` ```
@ -556,7 +556,7 @@ The `/api/v1/export` endpoint should return the following response:
Enable HTTP server for OpenTSDB `/api/put` requests by setting `-opentsdbHTTPListenAddr` command line flag. For instance, Enable HTTP server for OpenTSDB `/api/put` requests by setting `-opentsdbHTTPListenAddr` command line flag. For instance,
the following command enables OpenTSDB HTTP server on port `4242`: the following command enables OpenTSDB HTTP server on port `4242`:
```bash ```console
/path/to/victoria-metrics-prod -opentsdbHTTPListenAddr=:4242 /path/to/victoria-metrics-prod -opentsdbHTTPListenAddr=:4242
``` ```
@ -566,7 +566,7 @@ Example for writing a single data point:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -H 'Content-Type: application/json' -d '{"metric":"x.y.z","value":45.34,"tags":{"t1":"v1","t2":"v2"}}' http://localhost:4242/api/put curl -H 'Content-Type: application/json' -d '{"metric":"x.y.z","value":45.34,"tags":{"t1":"v1","t2":"v2"}}' http://localhost:4242/api/put
``` ```
@ -576,7 +576,7 @@ Example for writing multiple data points in a single request:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -H 'Content-Type: application/json' -d '[{"metric":"foo","value":45.34},{"metric":"bar","value":43}]' http://localhost:4242/api/put curl -H 'Content-Type: application/json' -d '[{"metric":"foo","value":45.34},{"metric":"bar","value":43}]' http://localhost:4242/api/put
``` ```
@ -586,7 +586,7 @@ After that the data may be read via [/api/v1/export](#how-to-export-data-in-json
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://localhost:8428/api/v1/export' -d 'match[]=x.y.z' -d 'match[]=foo' -d 'match[]=bar' curl -G 'http://localhost:8428/api/v1/export' -d 'match[]=x.y.z' -d 'match[]=foo' -d 'match[]=bar'
``` ```
@ -756,7 +756,7 @@ The base docker image is [alpine](https://hub.docker.com/_/alpine) but it is pos
by setting it via `<ROOT_IMAGE>` environment variable. by setting it via `<ROOT_IMAGE>` environment variable.
For example, the following command builds the image on top of [scratch](https://hub.docker.com/_/scratch) image: For example, the following command builds the image on top of [scratch](https://hub.docker.com/_/scratch) image:
```bash ```console
ROOT_IMAGE=scratch make package-victoria-metrics ROOT_IMAGE=scratch make package-victoria-metrics
``` ```
@ -870,7 +870,7 @@ Each JSON line contains samples for a single time series. An example output:
Optional `start` and `end` args may be added to the request in order to limit the time frame for the exported data. These args may contain either Optional `start` and `end` args may be added to the request in order to limit the time frame for the exported data. These args may contain either
unix timestamp in seconds or [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) values. unix timestamp in seconds or [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) values.
For example: For example:
```bash ```console
curl http://<victoriametrics-addr>:8428/api/v1/export -d 'match[]=<timeseries_selector_for_export>' -d 'start=1654543486' -d 'end=1654543486' curl http://<victoriametrics-addr>:8428/api/v1/export -d 'match[]=<timeseries_selector_for_export>' -d 'start=1654543486' -d 'end=1654543486'
curl http://<victoriametrics-addr>:8428/api/v1/export -d 'match[]=<timeseries_selector_for_export>' -d 'start=2022-06-06T19:25:48+00:00' -d 'end=2022-06-06T19:29:07+00:00' curl http://<victoriametrics-addr>:8428/api/v1/export -d 'match[]=<timeseries_selector_for_export>' -d 'start=2022-06-06T19:25:48+00:00' -d 'end=2022-06-06T19:29:07+00:00'
``` ```
@ -884,7 +884,7 @@ of time series data. This enables gzip compression for the exported data. Exampl
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -H 'Accept-Encoding: gzip' http://localhost:8428/api/v1/export -d 'match[]={__name__!=""}' > data.jsonl.gz curl -H 'Accept-Encoding: gzip' http://localhost:8428/api/v1/export -d 'match[]={__name__!=""}' > data.jsonl.gz
``` ```
@ -918,7 +918,7 @@ for metrics to export.
Optional `start` and `end` args may be added to the request in order to limit the time frame for the exported data. These args may contain either Optional `start` and `end` args may be added to the request in order to limit the time frame for the exported data. These args may contain either
unix timestamp in seconds or [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) values. unix timestamp in seconds or [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) values.
For example: For example:
```bash ```console
curl http://<victoriametrics-addr>:8428/api/v1/export/csv -d 'format=<format>' -d 'match[]=<timeseries_selector_for_export>' -d 'start=1654543486' -d 'end=1654543486' curl http://<victoriametrics-addr>:8428/api/v1/export/csv -d 'format=<format>' -d 'match[]=<timeseries_selector_for_export>' -d 'start=1654543486' -d 'end=1654543486'
curl http://<victoriametrics-addr>:8428/api/v1/export/csv -d 'format=<format>' -d 'match[]=<timeseries_selector_for_export>' -d 'start=2022-06-06T19:25:48+00:00' -d 'end=2022-06-06T19:29:07+00:00' curl http://<victoriametrics-addr>:8428/api/v1/export/csv -d 'format=<format>' -d 'match[]=<timeseries_selector_for_export>' -d 'start=2022-06-06T19:25:48+00:00' -d 'end=2022-06-06T19:29:07+00:00'
``` ```
@ -935,7 +935,7 @@ for metrics to export. Use `{__name__=~".*"}` selector for fetching all the time
On large databases you may experience problems with limit on the number of time series, which can be exported. In this case you need to adjust `-search.maxExportSeries` command-line flag: On large databases you may experience problems with limit on the number of time series, which can be exported. In this case you need to adjust `-search.maxExportSeries` command-line flag:
```bash ```console
# count unique timeseries in database # count unique timeseries in database
wget -O- -q 'http://your_victoriametrics_instance:8428/api/v1/series/count' | jq '.data[0]' wget -O- -q 'http://your_victoriametrics_instance:8428/api/v1/series/count' | jq '.data[0]'
@ -945,7 +945,7 @@ wget -O- -q 'http://your_victoriametrics_instance:8428/api/v1/series/count' | jq
Optional `start` and `end` args may be added to the request in order to limit the time frame for the exported data. These args may contain either Optional `start` and `end` args may be added to the request in order to limit the time frame for the exported data. These args may contain either
unix timestamp in seconds or [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) values. unix timestamp in seconds or [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) values.
For example: For example:
```bash ```console
curl http://<victoriametrics-addr>:8428/api/v1/export/native -d 'match[]=<timeseries_selector_for_export>' -d 'start=1654543486' -d 'end=1654543486' curl http://<victoriametrics-addr>:8428/api/v1/export/native -d 'match[]=<timeseries_selector_for_export>' -d 'start=1654543486' -d 'end=1654543486'
curl http://<victoriametrics-addr>:8428/api/v1/export/native -d 'match[]=<timeseries_selector_for_export>' -d 'start=2022-06-06T19:25:48+00:00' -d 'end=2022-06-06T19:29:07+00:00' curl http://<victoriametrics-addr>:8428/api/v1/export/native -d 'match[]=<timeseries_selector_for_export>' -d 'start=2022-06-06T19:25:48+00:00' -d 'end=2022-06-06T19:29:07+00:00'
``` ```
@ -977,7 +977,7 @@ Time series data can be imported into VictoriaMetrics via any supported data ing
Example for importing data obtained via [/api/v1/export](#how-to-export-data-in-json-line-format): Example for importing data obtained via [/api/v1/export](#how-to-export-data-in-json-line-format):
```bash ```console
# Export the data from <source-victoriametrics>: # Export the data from <source-victoriametrics>:
curl http://source-victoriametrics:8428/api/v1/export -d 'match={__name__!=""}' > exported_data.jsonl curl http://source-victoriametrics:8428/api/v1/export -d 'match={__name__!=""}' > exported_data.jsonl
@ -987,7 +987,7 @@ curl -X POST http://destination-victoriametrics:8428/api/v1/import -T exported_d
Pass `Content-Encoding: gzip` HTTP request header to `/api/v1/import` for importing gzipped data: Pass `Content-Encoding: gzip` HTTP request header to `/api/v1/import` for importing gzipped data:
```bash ```console
# Export gzipped data from <source-victoriametrics>: # Export gzipped data from <source-victoriametrics>:
curl -H 'Accept-Encoding: gzip' http://source-victoriametrics:8428/api/v1/export -d 'match={__name__!=""}' > exported_data.jsonl.gz curl -H 'Accept-Encoding: gzip' http://source-victoriametrics:8428/api/v1/export -d 'match={__name__!=""}' > exported_data.jsonl.gz
@ -1008,7 +1008,7 @@ The specification of VictoriaMetrics' native format may yet change and is not fo
If you have a native format file obtained via [/api/v1/export/native](#how-to-export-data-in-native-format) however this is the most efficient protocol for importing data in. If you have a native format file obtained via [/api/v1/export/native](#how-to-export-data-in-native-format) however this is the most efficient protocol for importing data in.
```bash ```console
# Export the data from <source-victoriametrics>: # Export the data from <source-victoriametrics>:
curl http://source-victoriametrics:8428/api/v1/export/native -d 'match={__name__!=""}' > exported_data.bin curl http://source-victoriametrics:8428/api/v1/export/native -d 'match={__name__!=""}' > exported_data.bin
@ -1049,14 +1049,14 @@ Each request to `/api/v1/import/csv` may contain arbitrary number of CSV lines.
Example for importing CSV data via `/api/v1/import/csv`: Example for importing CSV data via `/api/v1/import/csv`:
```bash ```console
curl -d "GOOG,1.23,4.56,NYSE" 'http://localhost:8428/api/v1/import/csv?format=2:metric:ask,3:metric:bid,1:label:ticker,4:label:market' curl -d "GOOG,1.23,4.56,NYSE" 'http://localhost:8428/api/v1/import/csv?format=2:metric:ask,3:metric:bid,1:label:ticker,4:label:market'
curl -d "MSFT,3.21,1.67,NASDAQ" 'http://localhost:8428/api/v1/import/csv?format=2:metric:ask,3:metric:bid,1:label:ticker,4:label:market' curl -d "MSFT,3.21,1.67,NASDAQ" 'http://localhost:8428/api/v1/import/csv?format=2:metric:ask,3:metric:bid,1:label:ticker,4:label:market'
``` ```
After that the data may be read via [/api/v1/export](#how-to-export-data-in-json-line-format) endpoint: After that the data may be read via [/api/v1/export](#how-to-export-data-in-json-line-format) endpoint:
```bash ```console
curl -G 'http://localhost:8428/api/v1/export' -d 'match[]={ticker!=""}' curl -G 'http://localhost:8428/api/v1/export' -d 'match[]={ticker!=""}'
``` ```
@ -1082,7 +1082,7 @@ via `/api/v1/import/prometheus` path. For example, the following line imports a
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -d 'foo{bar="baz"} 123' -X POST 'http://localhost:8428/api/v1/import/prometheus' curl -d 'foo{bar="baz"} 123' -X POST 'http://localhost:8428/api/v1/import/prometheus'
``` ```
@ -1092,7 +1092,7 @@ The following command may be used for verifying the imported data:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://localhost:8428/api/v1/export' -d 'match={__name__=~"foo"}' curl -G 'http://localhost:8428/api/v1/export' -d 'match={__name__=~"foo"}'
``` ```
@ -1108,7 +1108,7 @@ Pass `Content-Encoding: gzip` HTTP request header to `/api/v1/import/prometheus`
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
# Import gzipped data to <destination-victoriametrics>: # Import gzipped data to <destination-victoriametrics>:
curl -X POST -H 'Content-Encoding: gzip' http://destination-victoriametrics:8428/api/v1/import/prometheus -T prometheus_data.gz curl -X POST -H 'Content-Encoding: gzip' http://destination-victoriametrics:8428/api/v1/import/prometheus -T prometheus_data.gz
``` ```
@ -1159,7 +1159,7 @@ at `http://<victoriametrics-addr>:8428/federate?match[]=<timeseries_selector_for
Optional `start` and `end` args may be added to the request in order to scrape the last point for each selected time series on the `[start ... end]` interval. Optional `start` and `end` args may be added to the request in order to scrape the last point for each selected time series on the `[start ... end]` interval.
`start` and `end` may contain either unix timestamp in seconds or [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) values. `start` and `end` may contain either unix timestamp in seconds or [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) values.
For example: For example:
```bash ```console
curl http://<victoriametrics-addr>:8428/federate -d 'match[]=<timeseries_selector_for_export>' -d 'start=1654543486' -d 'end=1654543486' curl http://<victoriametrics-addr>:8428/federate -d 'match[]=<timeseries_selector_for_export>' -d 'start=1654543486' -d 'end=1654543486'
curl http://<victoriametrics-addr>:8428/federate -d 'match[]=<timeseries_selector_for_export>' -d 'start=2022-06-06T19:25:48+00:00' -d 'end=2022-06-06T19:29:07+00:00' curl http://<victoriametrics-addr>:8428/federate -d 'match[]=<timeseries_selector_for_export>' -d 'start=2022-06-06T19:25:48+00:00' -d 'end=2022-06-06T19:29:07+00:00'
``` ```
@ -1213,7 +1213,7 @@ See also [cardinality limiter](#cardinality-limiter) and [capacity planning docs
* Install multiple VictoriaMetrics instances in distinct datacenters (availability zones). * Install multiple VictoriaMetrics instances in distinct datacenters (availability zones).
* Pass addresses of these instances to [vmagent](https://docs.victoriametrics.com/vmagent.html) via `-remoteWrite.url` command-line flag: * Pass addresses of these instances to [vmagent](https://docs.victoriametrics.com/vmagent.html) via `-remoteWrite.url` command-line flag:
```bash ```console
/path/to/vmagent -remoteWrite.url=http://<victoriametrics-addr-1>:8428/api/v1/write -remoteWrite.url=http://<victoriametrics-addr-2>:8428/api/v1/write /path/to/vmagent -remoteWrite.url=http://<victoriametrics-addr-1>:8428/api/v1/write -remoteWrite.url=http://<victoriametrics-addr-2>:8428/api/v1/write
``` ```
@ -1232,7 +1232,7 @@ remote_write:
* Apply the updated config: * Apply the updated config:
```bash ```console
kill -HUP `pidof prometheus` kill -HUP `pidof prometheus`
``` ```
@ -1413,7 +1413,7 @@ For example, substitute `-graphiteListenAddr=:2003` with `-graphiteListenAddr=<i
If you plan to store more than 1TB of data on `ext4` partition or plan extending it to more than 16TB, If you plan to store more than 1TB of data on `ext4` partition or plan extending it to more than 16TB,
then the following options are recommended to pass to `mkfs.ext4`: then the following options are recommended to pass to `mkfs.ext4`:
```bash ```console
mkfs.ext4 ... -O 64bit,huge_file,extent -T huge mkfs.ext4 ... -O 64bit,huge_file,extent -T huge
``` ```
@ -1474,7 +1474,7 @@ In this case VictoriaMetrics puts query trace into `trace` field in the output J
For example, the following command: For example, the following command:
```bash ```console
curl http://localhost:8428/api/v1/query_range -d 'query=2*rand()' -d 'start=-1h' -d 'step=1m' -d 'trace=1' | jq '.trace' curl http://localhost:8428/api/v1/query_range -d 'query=2*rand()' -d 'start=-1h' -d 'step=1m' -d 'trace=1' | jq '.trace'
``` ```
@ -1735,7 +1735,7 @@ VictoriaMetrics provides handlers for collecting the following [Go profiles](htt
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl http://0.0.0.0:8428/debug/pprof/heap > mem.pprof curl http://0.0.0.0:8428/debug/pprof/heap > mem.pprof
``` ```
@ -1745,7 +1745,7 @@ curl http://0.0.0.0:8428/debug/pprof/heap > mem.pprof
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl http://0.0.0.0:8428/debug/pprof/profile > cpu.pprof curl http://0.0.0.0:8428/debug/pprof/profile > cpu.pprof
``` ```

View File

@ -168,7 +168,7 @@ Then apply new config via the following command:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
kill -HUP `pidof prometheus` kill -HUP `pidof prometheus`
``` ```
@ -332,7 +332,7 @@ VictoriaMetrics doesn't check `DD_API_KEY` param, so it can be set to arbitrary
Example on how to send data to VictoriaMetrics via DataDog "submit metrics" API from command line: Example on how to send data to VictoriaMetrics via DataDog "submit metrics" API from command line:
```bash ```console
echo ' echo '
{ {
"series": [ "series": [
@ -358,7 +358,7 @@ The imported data can be read via [export API](https://docs.victoriametrics.com/
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl http://localhost:8428/api/v1/export -d 'match[]=system.load.1' curl http://localhost:8428/api/v1/export -d 'match[]=system.load.1'
``` ```
@ -422,7 +422,7 @@ to local VictoriaMetrics using `curl`:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -d 'measurement,tag1=value1,tag2=value2 field1=123,field2=1.23' -X POST 'http://localhost:8428/write' curl -d 'measurement,tag1=value1,tag2=value2 field1=123,field2=1.23' -X POST 'http://localhost:8428/write'
``` ```
@ -433,7 +433,7 @@ After that the data may be read via [/api/v1/export](#how-to-export-data-in-json
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://localhost:8428/api/v1/export' -d 'match={__name__=~"measurement_.*"}' curl -G 'http://localhost:8428/api/v1/export' -d 'match={__name__=~"measurement_.*"}'
``` ```
@ -461,7 +461,7 @@ Comma-separated list of expected databases can be passed to VictoriaMetrics via
Enable Graphite receiver in VictoriaMetrics by setting `-graphiteListenAddr` command line flag. For instance, Enable Graphite receiver in VictoriaMetrics by setting `-graphiteListenAddr` command line flag. For instance,
the following command will enable Graphite receiver in VictoriaMetrics on TCP and UDP port `2003`: the following command will enable Graphite receiver in VictoriaMetrics on TCP and UDP port `2003`:
```bash ```console
/path/to/victoria-metrics-prod -graphiteListenAddr=:2003 /path/to/victoria-metrics-prod -graphiteListenAddr=:2003
``` ```
@ -470,7 +470,7 @@ to the VictoriaMetrics host in `StatsD` configs.
Example for writing data with Graphite plaintext protocol to local VictoriaMetrics using `nc`: Example for writing data with Graphite plaintext protocol to local VictoriaMetrics using `nc`:
```bash ```console
echo "foo.bar.baz;tag1=value1;tag2=value2 123 `date +%s`" | nc -N localhost 2003 echo "foo.bar.baz;tag1=value1;tag2=value2 123 `date +%s`" | nc -N localhost 2003
``` ```
@ -480,7 +480,7 @@ After that the data may be read via [/api/v1/export](#how-to-export-data-in-json
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://localhost:8428/api/v1/export' -d 'match=foo.bar.baz' curl -G 'http://localhost:8428/api/v1/export' -d 'match=foo.bar.baz'
``` ```
@ -522,7 +522,7 @@ The same protocol is used for [ingesting data in KairosDB](https://kairosdb.gith
Enable OpenTSDB receiver in VictoriaMetrics by setting `-opentsdbListenAddr` command line flag. For instance, Enable OpenTSDB receiver in VictoriaMetrics by setting `-opentsdbListenAddr` command line flag. For instance,
the following command enables OpenTSDB receiver in VictoriaMetrics on TCP and UDP port `4242`: the following command enables OpenTSDB receiver in VictoriaMetrics on TCP and UDP port `4242`:
```bash ```console
/path/to/victoria-metrics-prod -opentsdbListenAddr=:4242 /path/to/victoria-metrics-prod -opentsdbListenAddr=:4242
``` ```
@ -532,7 +532,7 @@ Example for writing data with OpenTSDB protocol to local VictoriaMetrics using `
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
echo "put foo.bar.baz `date +%s` 123 tag1=value1 tag2=value2" | nc -N localhost 4242 echo "put foo.bar.baz `date +%s` 123 tag1=value1 tag2=value2" | nc -N localhost 4242
``` ```
@ -543,7 +543,7 @@ After that the data may be read via [/api/v1/export](#how-to-export-data-in-json
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://localhost:8428/api/v1/export' -d 'match=foo.bar.baz' curl -G 'http://localhost:8428/api/v1/export' -d 'match=foo.bar.baz'
``` ```
@ -560,7 +560,7 @@ The `/api/v1/export` endpoint should return the following response:
Enable HTTP server for OpenTSDB `/api/put` requests by setting `-opentsdbHTTPListenAddr` command line flag. For instance, Enable HTTP server for OpenTSDB `/api/put` requests by setting `-opentsdbHTTPListenAddr` command line flag. For instance,
the following command enables OpenTSDB HTTP server on port `4242`: the following command enables OpenTSDB HTTP server on port `4242`:
```bash ```console
/path/to/victoria-metrics-prod -opentsdbHTTPListenAddr=:4242 /path/to/victoria-metrics-prod -opentsdbHTTPListenAddr=:4242
``` ```
@ -570,7 +570,7 @@ Example for writing a single data point:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -H 'Content-Type: application/json' -d '{"metric":"x.y.z","value":45.34,"tags":{"t1":"v1","t2":"v2"}}' http://localhost:4242/api/put curl -H 'Content-Type: application/json' -d '{"metric":"x.y.z","value":45.34,"tags":{"t1":"v1","t2":"v2"}}' http://localhost:4242/api/put
``` ```
@ -580,7 +580,7 @@ Example for writing multiple data points in a single request:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -H 'Content-Type: application/json' -d '[{"metric":"foo","value":45.34},{"metric":"bar","value":43}]' http://localhost:4242/api/put curl -H 'Content-Type: application/json' -d '[{"metric":"foo","value":45.34},{"metric":"bar","value":43}]' http://localhost:4242/api/put
``` ```
@ -590,7 +590,7 @@ After that the data may be read via [/api/v1/export](#how-to-export-data-in-json
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://localhost:8428/api/v1/export' -d 'match[]=x.y.z' -d 'match[]=foo' -d 'match[]=bar' curl -G 'http://localhost:8428/api/v1/export' -d 'match[]=x.y.z' -d 'match[]=foo' -d 'match[]=bar'
``` ```
@ -760,7 +760,7 @@ The base docker image is [alpine](https://hub.docker.com/_/alpine) but it is pos
by setting it via `<ROOT_IMAGE>` environment variable. by setting it via `<ROOT_IMAGE>` environment variable.
For example, the following command builds the image on top of [scratch](https://hub.docker.com/_/scratch) image: For example, the following command builds the image on top of [scratch](https://hub.docker.com/_/scratch) image:
```bash ```console
ROOT_IMAGE=scratch make package-victoria-metrics ROOT_IMAGE=scratch make package-victoria-metrics
``` ```
@ -874,7 +874,7 @@ Each JSON line contains samples for a single time series. An example output:
Optional `start` and `end` args may be added to the request in order to limit the time frame for the exported data. These args may contain either Optional `start` and `end` args may be added to the request in order to limit the time frame for the exported data. These args may contain either
unix timestamp in seconds or [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) values. unix timestamp in seconds or [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) values.
For example: For example:
```bash ```console
curl http://<victoriametrics-addr>:8428/api/v1/export -d 'match[]=<timeseries_selector_for_export>' -d 'start=1654543486' -d 'end=1654543486' curl http://<victoriametrics-addr>:8428/api/v1/export -d 'match[]=<timeseries_selector_for_export>' -d 'start=1654543486' -d 'end=1654543486'
curl http://<victoriametrics-addr>:8428/api/v1/export -d 'match[]=<timeseries_selector_for_export>' -d 'start=2022-06-06T19:25:48+00:00' -d 'end=2022-06-06T19:29:07+00:00' curl http://<victoriametrics-addr>:8428/api/v1/export -d 'match[]=<timeseries_selector_for_export>' -d 'start=2022-06-06T19:25:48+00:00' -d 'end=2022-06-06T19:29:07+00:00'
``` ```
@ -888,7 +888,7 @@ of time series data. This enables gzip compression for the exported data. Exampl
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -H 'Accept-Encoding: gzip' http://localhost:8428/api/v1/export -d 'match[]={__name__!=""}' > data.jsonl.gz curl -H 'Accept-Encoding: gzip' http://localhost:8428/api/v1/export -d 'match[]={__name__!=""}' > data.jsonl.gz
``` ```
@ -922,7 +922,7 @@ for metrics to export.
Optional `start` and `end` args may be added to the request in order to limit the time frame for the exported data. These args may contain either Optional `start` and `end` args may be added to the request in order to limit the time frame for the exported data. These args may contain either
unix timestamp in seconds or [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) values. unix timestamp in seconds or [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) values.
For example: For example:
```bash ```console
curl http://<victoriametrics-addr>:8428/api/v1/export/csv -d 'format=<format>' -d 'match[]=<timeseries_selector_for_export>' -d 'start=1654543486' -d 'end=1654543486' curl http://<victoriametrics-addr>:8428/api/v1/export/csv -d 'format=<format>' -d 'match[]=<timeseries_selector_for_export>' -d 'start=1654543486' -d 'end=1654543486'
curl http://<victoriametrics-addr>:8428/api/v1/export/csv -d 'format=<format>' -d 'match[]=<timeseries_selector_for_export>' -d 'start=2022-06-06T19:25:48+00:00' -d 'end=2022-06-06T19:29:07+00:00' curl http://<victoriametrics-addr>:8428/api/v1/export/csv -d 'format=<format>' -d 'match[]=<timeseries_selector_for_export>' -d 'start=2022-06-06T19:25:48+00:00' -d 'end=2022-06-06T19:29:07+00:00'
``` ```
@ -939,7 +939,7 @@ for metrics to export. Use `{__name__=~".*"}` selector for fetching all the time
On large databases you may experience problems with limit on the number of time series, which can be exported. In this case you need to adjust `-search.maxExportSeries` command-line flag: On large databases you may experience problems with limit on the number of time series, which can be exported. In this case you need to adjust `-search.maxExportSeries` command-line flag:
```bash ```console
# count unique timeseries in database # count unique timeseries in database
wget -O- -q 'http://your_victoriametrics_instance:8428/api/v1/series/count' | jq '.data[0]' wget -O- -q 'http://your_victoriametrics_instance:8428/api/v1/series/count' | jq '.data[0]'
@ -949,7 +949,7 @@ wget -O- -q 'http://your_victoriametrics_instance:8428/api/v1/series/count' | jq
Optional `start` and `end` args may be added to the request in order to limit the time frame for the exported data. These args may contain either Optional `start` and `end` args may be added to the request in order to limit the time frame for the exported data. These args may contain either
unix timestamp in seconds or [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) values. unix timestamp in seconds or [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) values.
For example: For example:
```bash ```console
curl http://<victoriametrics-addr>:8428/api/v1/export/native -d 'match[]=<timeseries_selector_for_export>' -d 'start=1654543486' -d 'end=1654543486' curl http://<victoriametrics-addr>:8428/api/v1/export/native -d 'match[]=<timeseries_selector_for_export>' -d 'start=1654543486' -d 'end=1654543486'
curl http://<victoriametrics-addr>:8428/api/v1/export/native -d 'match[]=<timeseries_selector_for_export>' -d 'start=2022-06-06T19:25:48+00:00' -d 'end=2022-06-06T19:29:07+00:00' curl http://<victoriametrics-addr>:8428/api/v1/export/native -d 'match[]=<timeseries_selector_for_export>' -d 'start=2022-06-06T19:25:48+00:00' -d 'end=2022-06-06T19:29:07+00:00'
``` ```
@ -981,7 +981,7 @@ Time series data can be imported into VictoriaMetrics via any supported data ing
Example for importing data obtained via [/api/v1/export](#how-to-export-data-in-json-line-format): Example for importing data obtained via [/api/v1/export](#how-to-export-data-in-json-line-format):
```bash ```console
# Export the data from <source-victoriametrics>: # Export the data from <source-victoriametrics>:
curl http://source-victoriametrics:8428/api/v1/export -d 'match={__name__!=""}' > exported_data.jsonl curl http://source-victoriametrics:8428/api/v1/export -d 'match={__name__!=""}' > exported_data.jsonl
@ -991,7 +991,7 @@ curl -X POST http://destination-victoriametrics:8428/api/v1/import -T exported_d
Pass `Content-Encoding: gzip` HTTP request header to `/api/v1/import` for importing gzipped data: Pass `Content-Encoding: gzip` HTTP request header to `/api/v1/import` for importing gzipped data:
```bash ```console
# Export gzipped data from <source-victoriametrics>: # Export gzipped data from <source-victoriametrics>:
curl -H 'Accept-Encoding: gzip' http://source-victoriametrics:8428/api/v1/export -d 'match={__name__!=""}' > exported_data.jsonl.gz curl -H 'Accept-Encoding: gzip' http://source-victoriametrics:8428/api/v1/export -d 'match={__name__!=""}' > exported_data.jsonl.gz
@ -1012,7 +1012,7 @@ The specification of VictoriaMetrics' native format may yet change and is not fo
If you have a native format file obtained via [/api/v1/export/native](#how-to-export-data-in-native-format) however this is the most efficient protocol for importing data in. If you have a native format file obtained via [/api/v1/export/native](#how-to-export-data-in-native-format) however this is the most efficient protocol for importing data in.
```bash ```console
# Export the data from <source-victoriametrics>: # Export the data from <source-victoriametrics>:
curl http://source-victoriametrics:8428/api/v1/export/native -d 'match={__name__!=""}' > exported_data.bin curl http://source-victoriametrics:8428/api/v1/export/native -d 'match={__name__!=""}' > exported_data.bin
@ -1053,14 +1053,14 @@ Each request to `/api/v1/import/csv` may contain arbitrary number of CSV lines.
Example for importing CSV data via `/api/v1/import/csv`: Example for importing CSV data via `/api/v1/import/csv`:
```bash ```console
curl -d "GOOG,1.23,4.56,NYSE" 'http://localhost:8428/api/v1/import/csv?format=2:metric:ask,3:metric:bid,1:label:ticker,4:label:market' curl -d "GOOG,1.23,4.56,NYSE" 'http://localhost:8428/api/v1/import/csv?format=2:metric:ask,3:metric:bid,1:label:ticker,4:label:market'
curl -d "MSFT,3.21,1.67,NASDAQ" 'http://localhost:8428/api/v1/import/csv?format=2:metric:ask,3:metric:bid,1:label:ticker,4:label:market' curl -d "MSFT,3.21,1.67,NASDAQ" 'http://localhost:8428/api/v1/import/csv?format=2:metric:ask,3:metric:bid,1:label:ticker,4:label:market'
``` ```
After that the data may be read via [/api/v1/export](#how-to-export-data-in-json-line-format) endpoint: After that the data may be read via [/api/v1/export](#how-to-export-data-in-json-line-format) endpoint:
```bash ```console
curl -G 'http://localhost:8428/api/v1/export' -d 'match[]={ticker!=""}' curl -G 'http://localhost:8428/api/v1/export' -d 'match[]={ticker!=""}'
``` ```
@ -1086,7 +1086,7 @@ via `/api/v1/import/prometheus` path. For example, the following line imports a
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -d 'foo{bar="baz"} 123' -X POST 'http://localhost:8428/api/v1/import/prometheus' curl -d 'foo{bar="baz"} 123' -X POST 'http://localhost:8428/api/v1/import/prometheus'
``` ```
@ -1096,7 +1096,7 @@ The following command may be used for verifying the imported data:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://localhost:8428/api/v1/export' -d 'match={__name__=~"foo"}' curl -G 'http://localhost:8428/api/v1/export' -d 'match={__name__=~"foo"}'
``` ```
@ -1112,7 +1112,7 @@ Pass `Content-Encoding: gzip` HTTP request header to `/api/v1/import/prometheus`
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
# Import gzipped data to <destination-victoriametrics>: # Import gzipped data to <destination-victoriametrics>:
curl -X POST -H 'Content-Encoding: gzip' http://destination-victoriametrics:8428/api/v1/import/prometheus -T prometheus_data.gz curl -X POST -H 'Content-Encoding: gzip' http://destination-victoriametrics:8428/api/v1/import/prometheus -T prometheus_data.gz
``` ```
@ -1163,7 +1163,7 @@ at `http://<victoriametrics-addr>:8428/federate?match[]=<timeseries_selector_for
Optional `start` and `end` args may be added to the request in order to scrape the last point for each selected time series on the `[start ... end]` interval. Optional `start` and `end` args may be added to the request in order to scrape the last point for each selected time series on the `[start ... end]` interval.
`start` and `end` may contain either unix timestamp in seconds or [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) values. `start` and `end` may contain either unix timestamp in seconds or [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) values.
For example: For example:
```bash ```console
curl http://<victoriametrics-addr>:8428/federate -d 'match[]=<timeseries_selector_for_export>' -d 'start=1654543486' -d 'end=1654543486' curl http://<victoriametrics-addr>:8428/federate -d 'match[]=<timeseries_selector_for_export>' -d 'start=1654543486' -d 'end=1654543486'
curl http://<victoriametrics-addr>:8428/federate -d 'match[]=<timeseries_selector_for_export>' -d 'start=2022-06-06T19:25:48+00:00' -d 'end=2022-06-06T19:29:07+00:00' curl http://<victoriametrics-addr>:8428/federate -d 'match[]=<timeseries_selector_for_export>' -d 'start=2022-06-06T19:25:48+00:00' -d 'end=2022-06-06T19:29:07+00:00'
``` ```
@ -1217,7 +1217,7 @@ See also [cardinality limiter](#cardinality-limiter) and [capacity planning docs
* Install multiple VictoriaMetrics instances in distinct datacenters (availability zones). * Install multiple VictoriaMetrics instances in distinct datacenters (availability zones).
* Pass addresses of these instances to [vmagent](https://docs.victoriametrics.com/vmagent.html) via `-remoteWrite.url` command-line flag: * Pass addresses of these instances to [vmagent](https://docs.victoriametrics.com/vmagent.html) via `-remoteWrite.url` command-line flag:
```bash ```console
/path/to/vmagent -remoteWrite.url=http://<victoriametrics-addr-1>:8428/api/v1/write -remoteWrite.url=http://<victoriametrics-addr-2>:8428/api/v1/write /path/to/vmagent -remoteWrite.url=http://<victoriametrics-addr-1>:8428/api/v1/write -remoteWrite.url=http://<victoriametrics-addr-2>:8428/api/v1/write
``` ```
@ -1236,7 +1236,7 @@ remote_write:
* Apply the updated config: * Apply the updated config:
```bash ```console
kill -HUP `pidof prometheus` kill -HUP `pidof prometheus`
``` ```
@ -1417,7 +1417,7 @@ For example, substitute `-graphiteListenAddr=:2003` with `-graphiteListenAddr=<i
If you plan to store more than 1TB of data on `ext4` partition or plan extending it to more than 16TB, If you plan to store more than 1TB of data on `ext4` partition or plan extending it to more than 16TB,
then the following options are recommended to pass to `mkfs.ext4`: then the following options are recommended to pass to `mkfs.ext4`:
```bash ```console
mkfs.ext4 ... -O 64bit,huge_file,extent -T huge mkfs.ext4 ... -O 64bit,huge_file,extent -T huge
``` ```
@ -1478,7 +1478,7 @@ In this case VictoriaMetrics puts query trace into `trace` field in the output J
For example, the following command: For example, the following command:
```bash ```console
curl http://localhost:8428/api/v1/query_range -d 'query=2*rand()' -d 'start=-1h' -d 'step=1m' -d 'trace=1' | jq '.trace' curl http://localhost:8428/api/v1/query_range -d 'query=2*rand()' -d 'start=-1h' -d 'step=1m' -d 'trace=1' | jq '.trace'
``` ```
@ -1739,7 +1739,7 @@ VictoriaMetrics provides handlers for collecting the following [Go profiles](htt
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl http://0.0.0.0:8428/debug/pprof/heap > mem.pprof curl http://0.0.0.0:8428/debug/pprof/heap > mem.pprof
``` ```
@ -1749,7 +1749,7 @@ curl http://0.0.0.0:8428/debug/pprof/heap > mem.pprof
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl http://0.0.0.0:8428/debug/pprof/profile > cpu.pprof curl http://0.0.0.0:8428/debug/pprof/profile > cpu.pprof
``` ```

View File

@ -22,7 +22,7 @@ See how to work with a [VictoriaMetrics Helm repository in previous guide](https
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
helm install operator vm/victoria-metrics-operator helm install operator vm/victoria-metrics-operator
``` ```
@ -30,7 +30,7 @@ helm install operator vm/victoria-metrics-operator
The expected output is: The expected output is:
```bash ```console
NAME: vmoperator NAME: vmoperator
LAST DEPLOYED: Thu Sep 30 17:30:30 2021 LAST DEPLOYED: Thu Sep 30 17:30:30 2021
NAMESPACE: default NAMESPACE: default
@ -49,13 +49,13 @@ Run the following command to check that VM Operator is up and running:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
kubectl --namespace default get pods -l "app.kubernetes.io/instance=vmoperator" kubectl --namespace default get pods -l "app.kubernetes.io/instance=vmoperator"
``` ```
</div> </div>
The expected output: The expected output:
```bash ```console
NAME READY STATUS RESTARTS AGE NAME READY STATUS RESTARTS AGE
vmoperator-victoria-metrics-operator-67cff44cd6-s47n6 1/1 Running 0 77s vmoperator-victoria-metrics-operator-67cff44cd6-s47n6 1/1 Running 0 77s
``` ```
@ -68,7 +68,7 @@ Run the following command to install [VictoriaMetrics Cluster](https://docs.vict
<div class="with-copy" markdown="1" id="example-cluster-config"> <div class="with-copy" markdown="1" id="example-cluster-config">
```bash ```console
cat << EOF | kubectl apply -f - cat << EOF | kubectl apply -f -
apiVersion: operator.victoriametrics.com/v1beta1 apiVersion: operator.victoriametrics.com/v1beta1
kind: VMCluster kind: VMCluster
@ -89,7 +89,7 @@ EOF
The expected output: The expected output:
```bash ```console
vmcluster.operator.victoriametrics.com/example-vmcluster-persistent created vmcluster.operator.victoriametrics.com/example-vmcluster-persistent created
``` ```
@ -100,13 +100,13 @@ vmcluster.operator.victoriametrics.com/example-vmcluster-persistent created
Please note that it may take some time for the pods to start. To check that the pods are started, run the following command: Please note that it may take some time for the pods to start. To check that the pods are started, run the following command:
<div class="with-copy" markdown="1" id="example-cluster-config"> <div class="with-copy" markdown="1" id="example-cluster-config">
```bash ```console
kubectl get pods | grep vmcluster kubectl get pods | grep vmcluster
``` ```
</div> </div>
The expected output: The expected output:
```bash ```console
NAME READY STATUS RESTARTS AGE NAME READY STATUS RESTARTS AGE
vminsert-example-vmcluster-persistent-845849cb84-9vb6f 1/1 Running 0 5m15s vminsert-example-vmcluster-persistent-845849cb84-9vb6f 1/1 Running 0 5m15s
vminsert-example-vmcluster-persistent-845849cb84-r7mmk 1/1 Running 0 5m15s vminsert-example-vmcluster-persistent-845849cb84-r7mmk 1/1 Running 0 5m15s
@ -119,13 +119,13 @@ vmstorage-example-vmcluster-persistent-1 1/1 Running 0
There is an extra command to get information about the cluster state: There is an extra command to get information about the cluster state:
<div class="with-copy" markdown="1" id="services"> <div class="with-copy" markdown="1" id="services">
```bash ```console
kubectl get vmclusters kubectl get vmclusters
``` ```
</div> </div>
The expected output: The expected output:
```bash ```console
NAME INSERT COUNT STORAGE COUNT SELECT COUNT AGE STATUS NAME INSERT COUNT STORAGE COUNT SELECT COUNT AGE STATUS
example-vmcluster-persistent 2 2 2 5m53s operational example-vmcluster-persistent 2 2 2 5m53s operational
``` ```
@ -136,14 +136,14 @@ To get the name of `vminsert` services, please run the following command:
<div class="with-copy" markdown="1" id="services"> <div class="with-copy" markdown="1" id="services">
```bash ```console
kubectl get svc | grep vminsert kubectl get svc | grep vminsert
``` ```
</div> </div>
The expected output: The expected output:
```bash ```console
vminsert-example-vmcluster-persistent ClusterIP 10.107.47.136 <none> 8480/TCP 5m58s vminsert-example-vmcluster-persistent ClusterIP 10.107.47.136 <none> 8480/TCP 5m58s
``` ```
@ -153,7 +153,7 @@ Here is an example of the full configuration that we need to apply:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
cat <<EOF | kubectl apply -f - cat <<EOF | kubectl apply -f -
apiVersion: operator.victoriametrics.com/v1beta1 apiVersion: operator.victoriametrics.com/v1beta1
kind: VMAgent kind: VMAgent
@ -177,7 +177,7 @@ EOF
The expected output: The expected output:
```bash ```console
vmagent.operator.victoriametrics.com/example-vmagent created vmagent.operator.victoriametrics.com/example-vmagent created
``` ```
@ -188,14 +188,14 @@ Verify that `VMAgent` is up and running by executing the following command:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
kubectl get pods | grep vmagent kubectl get pods | grep vmagent
``` ```
</div> </div>
The expected output is: The expected output is:
```bash ```console
vmagent-example-vmagent-7996844b5f-b5rzs 2/2 Running 0 9s vmagent-example-vmagent-7996844b5f-b5rzs 2/2 Running 0 9s
``` ```
@ -207,13 +207,13 @@ Run the following command to make `VMAgent`'s port accessible from the local mac
</div> </div>
```bash ```console
kubectl port-forward svc/vmagent-example-vmagent 8429:8429 kubectl port-forward svc/vmagent-example-vmagent 8429:8429
``` ```
The expected output is: The expected output is:
```bash ```console
Forwarding from 127.0.0.1:8429 -> 8429 Forwarding from 127.0.0.1:8429 -> 8429
Forwarding from [::1]:8429 -> 8429 Forwarding from [::1]:8429 -> 8429
``` ```
@ -235,14 +235,14 @@ To get the new service name, please run the following command:
<div class="with-copy" markdown="1" id="services"> <div class="with-copy" markdown="1" id="services">
```bash ```console
kubectl get svc | grep vmselect kubectl get svc | grep vmselect
``` ```
</div> </div>
The expected output: The expected output:
```bash ```console
vmselect-example-vmcluster-persistent ClusterIP None <none> 8481/TCP 7m vmselect-example-vmcluster-persistent ClusterIP None <none> 8481/TCP 7m
``` ```

View File

@ -65,7 +65,7 @@ EOF
The expected result of the command execution is the following: The expected result of the command execution is the following:
```bash ```console
NAME: vmcluster NAME: vmcluster
LAST DEPLOYED: Thu Jul 29 13:33:51 2021 LAST DEPLOYED: Thu Jul 29 13:33:51 2021
NAMESPACE: default NAMESPACE: default
@ -121,14 +121,14 @@ Verify that the VictoriaMetrics cluster pods are up and running by executing the
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
kubectl get pods | grep vmcluster kubectl get pods | grep vmcluster
``` ```
</div> </div>
The expected output is: The expected output is:
```bash ```console
vmcluster-victoria-metrics-cluster-vminsert-78b84d8cd9-4mh9d 1/1 Running 0 2m28s vmcluster-victoria-metrics-cluster-vminsert-78b84d8cd9-4mh9d 1/1 Running 0 2m28s
vmcluster-victoria-metrics-cluster-vminsert-78b84d8cd9-4ppl7 1/1 Running 0 2m28s vmcluster-victoria-metrics-cluster-vminsert-78b84d8cd9-4ppl7 1/1 Running 0 2m28s
vmcluster-victoria-metrics-cluster-vminsert-78b84d8cd9-782qk 1/1 Running 0 2m28s vmcluster-victoria-metrics-cluster-vminsert-78b84d8cd9-782qk 1/1 Running 0 2m28s
@ -241,7 +241,7 @@ Verify that `vmagent`'s pod is up and running by executing the following command
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
kubectl get pods | grep vmagent kubectl get pods | grep vmagent
``` ```
</div> </div>
@ -249,7 +249,7 @@ kubectl get pods | grep vmagent
The expected output is: The expected output is:
```bash ```console
vmagent-victoria-metrics-agent-57ddbdc55d-h4ljb 1/1 Running 0 13s vmagent-victoria-metrics-agent-57ddbdc55d-h4ljb 1/1 Running 0 13s
``` ```
@ -258,14 +258,14 @@ vmagent-victoria-metrics-agent-57ddbdc55d-h4ljb 1/1 Running
Run the following command to check that VictoriaMetrics services are up and running: Run the following command to check that VictoriaMetrics services are up and running:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
kubectl get pods | grep victoria-metrics kubectl get pods | grep victoria-metrics
``` ```
</div> </div>
The expected output is: The expected output is:
```bash ```console
vmagent-victoria-metrics-agent-57ddbdc55d-h4ljb 1/1 Running 0 75s vmagent-victoria-metrics-agent-57ddbdc55d-h4ljb 1/1 Running 0 75s
vmcluster-victoria-metrics-cluster-vminsert-78b84d8cd9-s8v7x 1/1 Running 0 89s vmcluster-victoria-metrics-cluster-vminsert-78b84d8cd9-s8v7x 1/1 Running 0 89s
vmcluster-victoria-metrics-cluster-vminsert-78b84d8cd9-xlm9d 1/1 Running 0 89s vmcluster-victoria-metrics-cluster-vminsert-78b84d8cd9-xlm9d 1/1 Running 0 89s
@ -283,14 +283,14 @@ To verify that metrics are present in the VictoriaMetrics send a curl request to
Run the following command to see the list of services: Run the following command to see the list of services:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
k get svc | grep vmselect k get svc | grep vmselect
``` ```
</div> </div>
The expected output: The expected output:
```bash ```console
vmcluster-victoria-metrics-cluster-vmselect ClusterIP 10.88.2.69 <none> 8481/TCP 1m vmcluster-victoria-metrics-cluster-vmselect ClusterIP 10.88.2.69 <none> 8481/TCP 1m
``` ```
@ -298,20 +298,20 @@ Run the following command to make `vmselect`'s port accessable from the local ma
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
kubectl port-forward svc/vmcluster-victoria-metrics-cluster-vmselect 8481:8481 kubectl port-forward svc/vmcluster-victoria-metrics-cluster-vmselect 8481:8481
``` ```
</div> </div>
Execute the following command to get metrics via `curl`: Execute the following command to get metrics via `curl`:
```bash ```console
curl -sg 'http://127.0.0.1:8481/select/0/prometheus/api/v1/query_range?query=count(up{kubernetes_pod_name=~".*vmselect.*"})&start=-10m&step=1m' | jq curl -sg 'http://127.0.0.1:8481/select/0/prometheus/api/v1/query_range?query=count(up{kubernetes_pod_name=~".*vmselect.*"})&start=-10m&step=1m' | jq
``` ```
The expected output is: The expected output is:
```bash ```console
{ {
"status": "success", "status": "success",
"isPartial": false, "isPartial": false,
@ -389,7 +389,7 @@ To test if High Availability works, we need to shutdown one of the `vmstorages`.
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
kubectl scale sts vmcluster-victoria-metrics-cluster-vmstorage --replicas=2 kubectl scale sts vmcluster-victoria-metrics-cluster-vmstorage --replicas=2
``` ```
</div> </div>
@ -398,13 +398,13 @@ Verify that now we have two running `vmstorages` in the cluster by executing the
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
kubectl get pods | grep vmstorage kubectl get pods | grep vmstorage
``` ```
</div> </div>
The expected output is: The expected output is:
```bash ```console
vmcluster-victoria-metrics-cluster-vmstorage-0 1/1 Running 0 44m vmcluster-victoria-metrics-cluster-vmstorage-0 1/1 Running 0 44m
vmcluster-victoria-metrics-cluster-vmstorage-1 1/1 Running 0 43m vmcluster-victoria-metrics-cluster-vmstorage-1 1/1 Running 0 43m
``` ```

View File

@ -28,7 +28,7 @@ You need to add the VictoriaMetrics Helm repository to install VictoriaMetrics c
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
helm repo add vm https://victoriametrics.github.io/helm-charts/ helm repo add vm https://victoriametrics.github.io/helm-charts/
``` ```
@ -38,7 +38,7 @@ Update Helm repositories:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
helm repo update helm repo update
``` ```
@ -48,7 +48,7 @@ To verify that everything is set up correctly you may run this command:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
helm search repo vm/ helm search repo vm/
``` ```
@ -56,7 +56,7 @@ helm search repo vm/
The expected output is: The expected output is:
```bash ```console
NAME CHART VERSION APP VERSION DESCRIPTION NAME CHART VERSION APP VERSION DESCRIPTION
vm/victoria-metrics-agent 0.7.20 v1.62.0 Victoria Metrics Agent - collects metrics from ... vm/victoria-metrics-agent 0.7.20 v1.62.0 Victoria Metrics Agent - collects metrics from ...
vm/victoria-metrics-alert 0.3.34 v1.62.0 Victoria Metrics Alert - executes a list of giv... vm/victoria-metrics-alert 0.3.34 v1.62.0 Victoria Metrics Alert - executes a list of giv...
@ -100,7 +100,7 @@ EOF
As a result of this command you will see the following output: As a result of this command you will see the following output:
```bash ```console
NAME: vmcluster NAME: vmcluster
LAST DEPLOYED: Thu Jul 1 09:41:57 2021 LAST DEPLOYED: Thu Jul 1 09:41:57 2021
NAMESPACE: default NAMESPACE: default
@ -159,14 +159,14 @@ Verify that [VictoriaMetrics cluster](https://docs.victoriametrics.com/Cluster-V
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
kubectl get pods kubectl get pods
``` ```
</div> </div>
The expected output is: The expected output is:
```bash ```console
NAME READY STATUS RESTARTS AGE NAME READY STATUS RESTARTS AGE
vmcluster-victoria-metrics-cluster-vminsert-689cbc8f55-95szg 1/1 Running 0 16m vmcluster-victoria-metrics-cluster-vminsert-689cbc8f55-95szg 1/1 Running 0 16m
vmcluster-victoria-metrics-cluster-vminsert-689cbc8f55-f852l 1/1 Running 0 16m vmcluster-victoria-metrics-cluster-vminsert-689cbc8f55-f852l 1/1 Running 0 16m
@ -422,14 +422,14 @@ Verify that `vmagent`'s pod is up and running by executing the following command
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
kubectl get pods | grep vmagent kubectl get pods | grep vmagent
``` ```
</div> </div>
The expected output is: The expected output is:
```bash ```console
vmagent-victoria-metrics-agent-69974b95b4-mhjph 1/1 Running 0 11m vmagent-victoria-metrics-agent-69974b95b4-mhjph 1/1 Running 0 11m
``` ```
@ -440,7 +440,7 @@ Add the Grafana Helm repository.
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
helm repo add grafana https://grafana.github.io/helm-charts helm repo add grafana https://grafana.github.io/helm-charts
helm repo update helm repo update
``` ```
@ -512,7 +512,7 @@ The second and the third will forward Grafana to `127.0.0.1:3000`:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
kubectl get secret --namespace default my-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo kubectl get secret --namespace default my-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=grafana,app.kubernetes.io/instance=my-grafana" -o jsonpath="{.items[0].metadata.name}") export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=grafana,app.kubernetes.io/instance=my-grafana" -o jsonpath="{.items[0].metadata.name}")

View File

@ -28,7 +28,7 @@ You need to add the VictoriaMetrics Helm repository to install VictoriaMetrics c
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
helm repo add vm https://victoriametrics.github.io/helm-charts/ helm repo add vm https://victoriametrics.github.io/helm-charts/
``` ```
@ -38,7 +38,7 @@ Update Helm repositories:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
helm repo update helm repo update
``` ```
@ -48,7 +48,7 @@ To verify that everything is set up correctly you may run this command:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
helm search repo vm/ helm search repo vm/
``` ```
@ -56,7 +56,7 @@ helm search repo vm/
The expected output is: The expected output is:
```bash ```console
NAME CHART VERSION APP VERSION DESCRIPTION NAME CHART VERSION APP VERSION DESCRIPTION
vm/victoria-metrics-agent 0.7.20 v1.62.0 Victoria Metrics Agent - collects metrics from ... vm/victoria-metrics-agent 0.7.20 v1.62.0 Victoria Metrics Agent - collects metrics from ...
vm/victoria-metrics-alert 0.3.34 v1.62.0 Victoria Metrics Alert - executes a list of giv... vm/victoria-metrics-alert 0.3.34 v1.62.0 Victoria Metrics Alert - executes a list of giv...
@ -74,7 +74,7 @@ Run this command in your terminal:
<div class="with-copy" markdown="1">.html <div class="with-copy" markdown="1">.html
```bash ```console
helm install vmsingle vm/victoria-metrics-single -f https://docs.victoriametrics.com/guides/guide-vmsingle-values.yaml helm install vmsingle vm/victoria-metrics-single -f https://docs.victoriametrics.com/guides/guide-vmsingle-values.yaml
``` ```
@ -175,7 +175,7 @@ server:
As a result of the command you will see the following output: As a result of the command you will see the following output:
```bash ```console
NAME: victoria-metrics NAME: victoria-metrics
LAST DEPLOYED: Fri Jun 25 12:06:13 2021 LAST DEPLOYED: Fri Jun 25 12:06:13 2021
NAMESPACE: default NAMESPACE: default
@ -219,7 +219,7 @@ Verify that VictoriaMetrics pod is up and running by executing the following com
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
kubectl get pods kubectl get pods
``` ```
@ -227,7 +227,7 @@ kubectl get pods
The expected output is: The expected output is:
```bash ```console
NAME READY STATUS RESTARTS AGE NAME READY STATUS RESTARTS AGE
vmsingle-victoria-metrics-single-server-0 1/1 Running 0 68s vmsingle-victoria-metrics-single-server-0 1/1 Running 0 68s
``` ```
@ -239,7 +239,7 @@ Add the Grafana Helm repository.
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
helm repo add grafana https://grafana.github.io/helm-charts helm repo add grafana https://grafana.github.io/helm-charts
helm repo update helm repo update
``` ```
@ -305,7 +305,7 @@ To see the password for Grafana `admin` user use the following command:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
kubectl get secret --namespace default my-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo kubectl get secret --namespace default my-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
``` ```
@ -315,7 +315,7 @@ Expose Grafana service on `127.0.0.1:3000`:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=grafana,app.kubernetes.io/instance=my-grafana" -o jsonpath="{.items[0].metadata.name}") export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=grafana,app.kubernetes.io/instance=my-grafana" -o jsonpath="{.items[0].metadata.name}")
kubectl --namespace default port-forward $POD_NAME 3000 kubectl --namespace default port-forward $POD_NAME 3000

View File

@ -72,7 +72,7 @@ supports [InfluxDB line protocol](https://docs.victoriametrics.com/#how-to-send-
for data ingestion. For example, to write a measurement to VictoriaMetrics we need to send an HTTP POST request with for data ingestion. For example, to write a measurement to VictoriaMetrics we need to send an HTTP POST request with
payload in a line protocol format: payload in a line protocol format:
```bash ```console
curl -d 'census,location=klamath,scientist=anderson bees=23 1566079200000' -X POST 'http://<victoriametric-addr>:8428/write' curl -d 'census,location=klamath,scientist=anderson bees=23 1566079200000' -X POST 'http://<victoriametric-addr>:8428/write'
``` ```
@ -83,7 +83,7 @@ Please note, an arbitrary number of lines delimited by `\n` (aka newline char) c
To get the written data back let's export all series matching the `location="klamath"` filter: To get the written data back let's export all series matching the `location="klamath"` filter:
```bash ```console
curl -G 'http://<victoriametric-addr>:8428/api/v1/export' -d 'match={location="klamath"}' curl -G 'http://<victoriametric-addr>:8428/api/v1/export' -d 'match={location="klamath"}'
``` ```

View File

@ -28,7 +28,7 @@ Using this schema, you can achieve:
* You need to pass two `-remoteWrite.url` command-line options to `vmagent`: * You need to pass two `-remoteWrite.url` command-line options to `vmagent`:
```bash ```console
/path/to/vmagent-prod \ /path/to/vmagent-prod \
-remoteWrite.url=<ground-control-1-remote-write> \ -remoteWrite.url=<ground-control-1-remote-write> \
-remoteWrite.url=<ground-control-2-remote-write> -remoteWrite.url=<ground-control-2-remote-write>

View File

@ -295,7 +295,7 @@ for [InfluxDB line protocol](https://docs.victoriametrics.com/Single-server-Vict
Creating custom clients or instrumenting the application for metrics writing is as easy as sending a POST request: Creating custom clients or instrumenting the application for metrics writing is as easy as sending a POST request:
```bash ```console
curl -d '{"metric":{"__name__":"foo","job":"node_exporter"},"values":[0,1,2],"timestamps":[1549891472010,1549891487724,1549891503438]}' -X POST 'http://localhost:8428/api/v1/import' curl -d '{"metric":{"__name__":"foo","job":"node_exporter"},"values":[0,1,2],"timestamps":[1549891472010,1549891487724,1549891503438]}' -X POST 'http://localhost:8428/api/v1/import'
``` ```
@ -441,7 +441,7 @@ plot this data sample on the system of coordinates, it will have the following f
To get the value of `foo_bar` metric at some specific moment of time, for example `2022-05-10 10:03:00`, in To get the value of `foo_bar` metric at some specific moment of time, for example `2022-05-10 10:03:00`, in
VictoriaMetrics we need to issue an **instant query**: VictoriaMetrics we need to issue an **instant query**:
```bash ```console
curl "http://<victoria-metrics-addr>/api/v1/query?query=foo_bar&time=2022-05-10T10:03:00.000Z" curl "http://<victoria-metrics-addr>/api/v1/query?query=foo_bar&time=2022-05-10T10:03:00.000Z"
``` ```
@ -504,7 +504,7 @@ step - step in seconds for evaluating query expression on the time range. If omi
To get the values of `foo_bar` on time range from `2022-05-10 09:59:00` to `2022-05-10 10:17:00`, in VictoriaMetrics we To get the values of `foo_bar` on time range from `2022-05-10 09:59:00` to `2022-05-10 10:17:00`, in VictoriaMetrics we
need to issue a range query: need to issue a range query:
```bash ```console
curl "http://<victoria-metrics-addr>/api/v1/query_range?query=foo_bar&step=1m&start=2022-05-10T09:59:00.000Z&end=2022-05-10T10:17:00.000Z" curl "http://<victoria-metrics-addr>/api/v1/query_range?query=foo_bar&step=1m&start=2022-05-10T09:59:00.000Z&end=2022-05-10T10:17:00.000Z"
``` ```

View File

@ -48,7 +48,7 @@ and disable CRD controller with flag: `--controller.disableCRDOwnership=true`
## Troubleshooting ## Troubleshooting
- cannot apply crd at kubernetes 1.18 + version and kubectl reports error: - cannot apply crd at kubernetes 1.18 + version and kubectl reports error:
```bash ```console
Error from server (Invalid): error when creating "release/crds/crd.yaml": CustomResourceDefinition.apiextensions.k8s.io "vmalertmanagers.operator.victoriametrics.com" is invalid: [spec.validation.openAPIV3Schema.properties[spec].properties[initContainers].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property, spec.validation.openAPIV3Schema.properties[spec].properties[containers].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property] Error from server (Invalid): error when creating "release/crds/crd.yaml": CustomResourceDefinition.apiextensions.k8s.io "vmalertmanagers.operator.victoriametrics.com" is invalid: [spec.validation.openAPIV3Schema.properties[spec].properties[initContainers].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property, spec.validation.openAPIV3Schema.properties[spec].properties[containers].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property]
Error from server (Invalid): error when creating "release/crds/crd.yaml": CustomResourceDefinition.apiextensions.k8s.io "vmalerts.operator.victoriametrics.com" is invalid: [ Error from server (Invalid): error when creating "release/crds/crd.yaml": CustomResourceDefinition.apiextensions.k8s.io "vmalerts.operator.victoriametrics.com" is invalid: [
``` ```
@ -62,12 +62,12 @@ Error from server (Invalid): error when creating "release/crds/crd.yaml": Custom
- minikube or kind - minikube or kind
start: start:
```bash ```console
make run make run
``` ```
for test execution run: for test execution run:
```bash ```console
#unit tests #unit tests
make test make test

View File

@ -280,7 +280,7 @@ EOF
Then wait for the cluster becomes ready Then wait for the cluster becomes ready
```bash ```console
kubectl get vmclusters -w kubectl get vmclusters -w
NAME INSERT COUNT STORAGE COUNT SELECT COUNT AGE STATUS NAME INSERT COUNT STORAGE COUNT SELECT COUNT AGE STATUS
example-vmcluster-persistent 2 2 2 2s expanding example-vmcluster-persistent 2 2 2 2s expanding
@ -289,7 +289,7 @@ example-vmcluster-persistent 2 2 2 30s
Get links for connection by executing the command: Get links for connection by executing the command:
```bash ```console
kubectl get svc -l app.kubernetes.io/instance=example-vmcluster-persistent kubectl get svc -l app.kubernetes.io/instance=example-vmcluster-persistent
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
vminsert-example-vmcluster-persistent ClusterIP 10.96.34.94 <none> 8480/TCP 69s vminsert-example-vmcluster-persistent ClusterIP 10.96.34.94 <none> 8480/TCP 69s

View File

@ -13,7 +13,7 @@ Obtain release from releases page:
We suggest use the latest release. We suggest use the latest release.
```bash ```console
# Get latest release version from https://github.com/VictoriaMetrics/operator/releases/latest # Get latest release version from https://github.com/VictoriaMetrics/operator/releases/latest
export VM_VERSION=`basename $(curl -fs -o/dev/null -w %{redirect_url} https://github.com/VictoriaMetrics/operator/releases/latest)` export VM_VERSION=`basename $(curl -fs -o/dev/null -w %{redirect_url} https://github.com/VictoriaMetrics/operator/releases/latest)`
wget https://github.com/VictoriaMetrics/operator/releases/download/$VM_VERSION/bundle_crd.zip wget https://github.com/VictoriaMetrics/operator/releases/download/$VM_VERSION/bundle_crd.zip
@ -24,7 +24,7 @@ unzip bundle_crd.zip
> sed -i "s/namespace: monitoring-system/namespace: YOUR_NAMESPACE/g" release/operator/* > sed -i "s/namespace: monitoring-system/namespace: YOUR_NAMESPACE/g" release/operator/*
First of all, you have to create [custom resource definitions](https://github.com/VictoriaMetrics/operator) First of all, you have to create [custom resource definitions](https://github.com/VictoriaMetrics/operator)
```bash ```console
kubectl apply -f release/crds kubectl apply -f release/crds
``` ```
@ -32,13 +32,13 @@ Then you need RBAC for operator, relevant configuration for the release can be f
Change configuration for operator at `release/operator/manager.yaml`, possible settings: [operator-settings](/vars.MD) Change configuration for operator at `release/operator/manager.yaml`, possible settings: [operator-settings](/vars.MD)
and apply it: and apply it:
```bash ```console
kubectl apply -f release/operator/ kubectl apply -f release/operator/
``` ```
Check the status of operator Check the status of operator
```bash ```console
kubectl get pods -n monitoring-system kubectl get pods -n monitoring-system
#NAME READY STATUS RESTARTS AGE #NAME READY STATUS RESTARTS AGE
@ -74,19 +74,19 @@ You can change [operator-settings](/vars.MD), or use your custom namespace see [
Build template Build template
```bash ```console
kustomize build . -o monitoring.yaml kustomize build . -o monitoring.yaml
``` ```
Apply manifests Apply manifests
```bash ```console
kubectl apply -f monitoring.yaml kubectl apply -f monitoring.yaml
``` ```
Check the status of operator Check the status of operator
```bash ```console
kubectl get pods -n monitoring-system kubectl get pods -n monitoring-system
#NAME READY STATUS RESTARTS AGE #NAME READY STATUS RESTARTS AGE
@ -269,7 +269,7 @@ EOF
It requires access to Kubernetes API and you can create RBAC for it first, it can be found at `release/examples/VMAgent_rbac.yaml` It requires access to Kubernetes API and you can create RBAC for it first, it can be found at `release/examples/VMAgent_rbac.yaml`
Or you can use default rbac account, that will be created for `VMAgent` by operator automatically. Or you can use default rbac account, that will be created for `VMAgent` by operator automatically.
```bash ```console
kubectl apply -f release/examples/vmagent_rbac.yaml kubectl apply -f release/examples/vmagent_rbac.yaml
``` ```
@ -538,7 +538,7 @@ EOF
``` ```
Check status for pods: Check status for pods:
```bash ```console
kubectl get pods kubectl get pods
NAME READY STATUS RESTARTS AGE NAME READY STATUS RESTARTS AGE
example-app-594f97677c-g72v8 1/1 Running 0 23s example-app-594f97677c-g72v8 1/1 Running 0 23s
@ -552,7 +552,7 @@ vmsingle-example-vmsingle-persisted-794b59ccc6-fnkpt 1/1 Running 0
``` ```
Checking logs for `VMAgent`: Checking logs for `VMAgent`:
```bash ```console
kubectl logs vmagent-example-vmagent-5777fdf7bf-tctcv vmagent kubectl logs vmagent-example-vmagent-5777fdf7bf-tctcv vmagent
2020-08-02T18:18:17.226Z info VictoriaMetrics/app/vmagent/remotewrite/remotewrite.go:98 Successfully reloaded relabel configs 2020-08-02T18:18:17.226Z info VictoriaMetrics/app/vmagent/remotewrite/remotewrite.go:98 Successfully reloaded relabel configs
2020-08-02T18:18:17.229Z info VictoriaMetrics/lib/promscrape/scraper.go:137 found changes in "/etc/vmagent/config_out/vmagent.env.yaml"; applying these changes 2020-08-02T18:18:17.229Z info VictoriaMetrics/lib/promscrape/scraper.go:137 found changes in "/etc/vmagent/config_out/vmagent.env.yaml"; applying these changes
@ -606,7 +606,7 @@ EOF
Let's check `VMAgent` logs (you have to wait some time for config sync, usually its around 1 min): Let's check `VMAgent` logs (you have to wait some time for config sync, usually its around 1 min):
```bash ```console
kubectl logs vmagent-example-vmagent-5777fdf7bf-tctcv vmagent --tail 100 kubectl logs vmagent-example-vmagent-5777fdf7bf-tctcv vmagent --tail 100
2020-08-03T08:24:13.312Z info VictoriaMetrics/lib/promscrape/scraper.go:106 SIGHUP received; reloading Prometheus configs from "/etc/vmagent/config_out/vmagent.env.yaml" 2020-08-03T08:24:13.312Z info VictoriaMetrics/lib/promscrape/scraper.go:106 SIGHUP received; reloading Prometheus configs from "/etc/vmagent/config_out/vmagent.env.yaml"
2020-08-03T08:24:13.312Z info VictoriaMetrics/app/vmagent/remotewrite/remotewrite.go:98 Successfully reloaded relabel configs 2020-08-03T08:24:13.312Z info VictoriaMetrics/app/vmagent/remotewrite/remotewrite.go:98 Successfully reloaded relabel configs
@ -668,7 +668,7 @@ EOF
``` ```
Ensure, that pods started: Ensure, that pods started:
```bash ```console
kubectl get pods kubectl get pods
NAME READY STATUS RESTARTS AGE NAME READY STATUS RESTARTS AGE
example-app-594f97677c-g72v8 1/1 Running 0 3m40s example-app-594f97677c-g72v8 1/1 Running 0 3m40s
@ -700,7 +700,7 @@ EOF
``` ```
Lets check `VMAgent` logs: Lets check `VMAgent` logs:
```bash ```console
kubectl logs vmagent-example-vmagent-5777fdf7bf-tctcv vmagent --tail 100 kubectl logs vmagent-example-vmagent-5777fdf7bf-tctcv vmagent --tail 100
2020-08-03T08:51:13.582Z info VictoriaMetrics/app/vmagent/remotewrite/remotewrite.go:98 Successfully reloaded relabel configs 2020-08-03T08:51:13.582Z info VictoriaMetrics/app/vmagent/remotewrite/remotewrite.go:98 Successfully reloaded relabel configs
2020-08-03T08:51:13.585Z info VictoriaMetrics/lib/promscrape/scraper.go:137 found changes in "/etc/vmagent/config_out/vmagent.env.yaml"; applying these changes 2020-08-03T08:51:13.585Z info VictoriaMetrics/lib/promscrape/scraper.go:137 found changes in "/etc/vmagent/config_out/vmagent.env.yaml"; applying these changes
@ -736,7 +736,7 @@ EOF
``` ```
Ensure, that it started and ready: Ensure, that it started and ready:
```bash ```console
kubectl get pods -l app.kubernetes.io/name=vmalert kubectl get pods -l app.kubernetes.io/name=vmalert
NAME READY STATUS RESTARTS AGE NAME READY STATUS RESTARTS AGE
vmalert-example-vmalert-6f8748c6f9-hcfrr 2/2 Running 0 2m26s vmalert-example-vmalert-6f8748c6f9-hcfrr 2/2 Running 0 2m26s
@ -779,7 +779,7 @@ EOF
{% endraw %} {% endraw %}
Ensure, that new alert was started: Ensure, that new alert was started:
```bash ```console
kubectl logs vmalert-example-vmalert-6f8748c6f9-hcfrr vmalert kubectl logs vmalert-example-vmalert-6f8748c6f9-hcfrr vmalert
2020-08-03T09:07:49.772Z info VictoriaMetrics/app/vmalert/web.go:45 api config reload was called, sending sighup 2020-08-03T09:07:49.772Z info VictoriaMetrics/app/vmalert/web.go:45 api config reload was called, sending sighup
2020-08-03T09:07:49.772Z info VictoriaMetrics/app/vmalert/main.go:115 SIGHUP received. Going to reload rules ["/etc/vmalert/config/vm-example-vmalert-rulefiles-0/*.yaml"] ... 2020-08-03T09:07:49.772Z info VictoriaMetrics/app/vmalert/main.go:115 SIGHUP received. Going to reload rules ["/etc/vmalert/config/vm-example-vmalert-rulefiles-0/*.yaml"] ...
@ -817,14 +817,14 @@ EOF
{% endraw %} {% endraw %}
`VMAlert` will report incorrect rule config and fire alert: `VMAlert` will report incorrect rule config and fire alert:
```bash ```console
2020-08-03T09:11:40.672Z info VictoriaMetrics/app/vmalert/main.go:115 SIGHUP received. Going to reload rules ["/etc/vmalert/config/vm-example-vmalert-rulefiles-0/*.yaml"] ... 2020-08-03T09:11:40.672Z info VictoriaMetrics/app/vmalert/main.go:115 SIGHUP received. Going to reload rules ["/etc/vmalert/config/vm-example-vmalert-rulefiles-0/*.yaml"] ...
2020-08-03T09:11:40.672Z info VictoriaMetrics/app/vmalert/manager.go:83 reading rules configuration file from "/etc/vmalert/config/vm-example-vmalert-rulefiles-0/*.yaml" 2020-08-03T09:11:40.672Z info VictoriaMetrics/app/vmalert/manager.go:83 reading rules configuration file from "/etc/vmalert/config/vm-example-vmalert-rulefiles-0/*.yaml"
2020-08-03T09:11:40.673Z error VictoriaMetrics/app/vmalert/main.go:119 error while reloading rules: cannot parse configuration file: invalid group "incorrect rule" in file "/etc/vmalert/config/vm-example-vmalert-rulefiles-0/default-example-vmrule-incorrect-rule.yaml": invalid rule "incorrect rule"."vmalert bad config": invalid expression: unparsed data left: "expression" 2020-08-03T09:11:40.673Z error VictoriaMetrics/app/vmalert/main.go:119 error while reloading rules: cannot parse configuration file: invalid group "incorrect rule" in file "/etc/vmalert/config/vm-example-vmalert-rulefiles-0/default-example-vmrule-incorrect-rule.yaml": invalid rule "incorrect rule"."vmalert bad config": invalid expression: unparsed data left: "expression"
``` ```
Clean up incorrect rule: Clean up incorrect rule:
```bash ```console
kubectl delete vmrule example-vmrule-incorrect-rule kubectl delete vmrule example-vmrule-incorrect-rule
``` ```
@ -976,7 +976,7 @@ EOF
Ensure, that pods are ready: Ensure, that pods are ready:
```bash ```console
kubectl get pods kubectl get pods
NAME READY STATUS RESTARTS AGE NAME READY STATUS RESTARTS AGE
prometheus-blackbox-exporter-5b5f44bd9c-2szdj 1/1 Running 0 3m3s prometheus-blackbox-exporter-5b5f44bd9c-2szdj 1/1 Running 0 3m3s
@ -986,7 +986,7 @@ vmsingle-example-vmsingle-persisted-8584486b68-mqg6b 1/1 Running 0
Now define some `VMProbe`, lets start with basic static target and probe `VMAgent` with its service address, for accessing Now define some `VMProbe`, lets start with basic static target and probe `VMAgent` with its service address, for accessing
blackbox exporter, you have to specify its url at `VMProbe` config. Lets get both services names: blackbox exporter, you have to specify its url at `VMProbe` config. Lets get both services names:
```bash ```console
kubectl get svc kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 4h21m kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 4h21m
@ -1095,7 +1095,7 @@ spec:
EOF EOF
``` ```
2 targets must be added to `VMAgent` scrape config: 2 targets must be added to `VMAgent` scrape config:
```bash ```console
static_configs: added targets: 2, removed targets: 0; total targets: 2 static_configs: added targets: 2, removed targets: 0; total targets: 2
``` ```
@ -1200,7 +1200,7 @@ EOF
``` ```
Check its status Check its status
```bash ```console
kubectl get pods kubectl get pods
NAME READY STATUS RESTARTS AGE NAME READY STATUS RESTARTS AGE
@ -1233,7 +1233,7 @@ EOF
Configuration changes for `VMAuth` takes some time, coz of mounted secret, its eventually updated by kubelet. Check vmauth log for changes: Configuration changes for `VMAuth` takes some time, coz of mounted secret, its eventually updated by kubelet. Check vmauth log for changes:
```bash ```console
kubectl logs vmauth-example-ffcc78fcc-xddk7 vmauth -f --tail 10 kubectl logs vmauth-example-ffcc78fcc-xddk7 vmauth -f --tail 10
2021-05-31T10:46:40.171Z info VictoriaMetrics/app/vmauth/auth_config.go:168 Loaded information about 1 users from "/opt/vmauth/config.yaml" 2021-05-31T10:46:40.171Z info VictoriaMetrics/app/vmauth/auth_config.go:168 Loaded information about 1 users from "/opt/vmauth/config.yaml"
2021-05-31T10:46:40.171Z info VictoriaMetrics/app/vmauth/main.go:37 started vmauth in 0.000 seconds 2021-05-31T10:46:40.171Z info VictoriaMetrics/app/vmauth/main.go:37 started vmauth in 0.000 seconds
@ -1249,7 +1249,7 @@ kubectl logs vmauth-example-ffcc78fcc-xddk7 vmauth -f --tail 10
Now lets try to access protected endpoints, i will use port-forward for that: Now lets try to access protected endpoints, i will use port-forward for that:
```bash ```console
kubectl port-forward vmauth-example-ffcc78fcc-xddk7 8427 kubectl port-forward vmauth-example-ffcc78fcc-xddk7 8427
# at separate terminal execute: # at separate terminal execute:
@ -1263,7 +1263,7 @@ curl localhost:8427/api/v1/groups -u 'simple-user:simple-password'
Check create secret for application access: Check create secret for application access:
```bash ```console
kubectl get secrets vmuser-example kubectl get secrets vmuser-example
NAME TYPE DATA AGE NAME TYPE DATA AGE
vmuser-example Opaque 2 6m33s vmuser-example Opaque 2 6m33s
@ -1275,7 +1275,7 @@ By default, the operator converts all existing prometheus-operator API objects i
You can control this behaviour by setting env variable for operator: You can control this behaviour by setting env variable for operator:
```bash ```console
#disable convertion for each object #disable convertion for each object
VM_ENABLEDPROMETHEUSCONVERTER_PODMONITOR=false VM_ENABLEDPROMETHEUSCONVERTER_PODMONITOR=false
VM_ENABLEDPROMETHEUSCONVERTER_SERVICESCRAPE=false VM_ENABLEDPROMETHEUSCONVERTER_SERVICESCRAPE=false
@ -1326,7 +1326,7 @@ spec:
By default the operator doesn't make converted objects disappear after original ones are deleted. To change this behaviour By default the operator doesn't make converted objects disappear after original ones are deleted. To change this behaviour
configure adding `OwnerReferences` to converted objects: configure adding `OwnerReferences` to converted objects:
```bash ```console
VM_ENABLEDPROMETHEUSCONVERTEROWNERREFERENCES=true VM_ENABLEDPROMETHEUSCONVERTEROWNERREFERENCES=true
``` ```
Converted objects will be linked to the original ones and will be deleted by kubernetes after the original ones are deleted. Converted objects will be linked to the original ones and will be deleted by kubernetes after the original ones are deleted.
@ -1404,7 +1404,7 @@ to the rule config:
Example for Kubernetes Nginx ingress [doc](https://kubernetes.github.io/ingress-nginx/examples/auth/basic/) Example for Kubernetes Nginx ingress [doc](https://kubernetes.github.io/ingress-nginx/examples/auth/basic/)
```bash ```console
#generate creds #generate creds
htpasswd -c auth foo htpasswd -c auth foo

View File

@ -11,7 +11,7 @@ sort: 21
Single: Single:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl 'http://<victoriametrics-addr>:8428/api/v1/admin/tsdb/delete_series?match[]=vm_http_request_errors_total' curl 'http://<victoriametrics-addr>:8428/api/v1/admin/tsdb/delete_series?match[]=vm_http_request_errors_total'
``` ```
@ -20,7 +20,7 @@ curl 'http://<victoriametrics-addr>:8428/api/v1/admin/tsdb/delete_series?match[]
Cluster: Cluster:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl 'http://<vmselect>:8481/delete/0/prometheus/api/v1/admin/tsdb/delete_series?match[]=vm_http_request_errors_total' curl 'http://<vmselect>:8481/delete/0/prometheus/api/v1/admin/tsdb/delete_series?match[]=vm_http_request_errors_total'
``` ```
@ -37,7 +37,7 @@ Additional information:
Single: Single:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl 'http://<victoriametrics-addr>:8428/api/v1/export/csv?format=__name__,__value__,__timestamp__:unix_s&match=vm_http_request_errors_total' > filename.txt curl 'http://<victoriametrics-addr>:8428/api/v1/export/csv?format=__name__,__value__,__timestamp__:unix_s&match=vm_http_request_errors_total' > filename.txt
``` ```
@ -46,7 +46,7 @@ curl 'http://<victoriametrics-addr>:8428/api/v1/export/csv?format=__name__,__val
Cluster: Cluster:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://<vmselect>:8481/select/0/prometheus/api/v1/export/csv?format=__name__,__value__,__timestamp__:unix_s&match=vm_http_request_errors_total' > filename.txt curl -G 'http://<vmselect>:8481/select/0/prometheus/api/v1/export/csv?format=__name__,__value__,__timestamp__:unix_s&match=vm_http_request_errors_total' > filename.txt
``` ```
@ -64,7 +64,7 @@ Additional information:
Single: Single:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://<victoriametrics-addr>:8428/api/v1/export/native?match[]=vm_http_request_errors_total' > filename.txt curl -G 'http://<victoriametrics-addr>:8428/api/v1/export/native?match[]=vm_http_request_errors_total' > filename.txt
``` ```
@ -73,7 +73,7 @@ curl -G 'http://<victoriametrics-addr>:8428/api/v1/export/native?match[]=vm_http
Cluster: Cluster:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://<vmselect>:8481/select/0/prometheus/api/v1/export/native?match=vm_http_request_errors_total' > filename.txt curl -G 'http://<vmselect>:8481/select/0/prometheus/api/v1/export/native?match=vm_http_request_errors_total' > filename.txt
``` ```
@ -90,7 +90,7 @@ More information:
Single: Single:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl --data-binary "@import.txt" -X POST 'http://destination-victoriametrics:8428/api/v1/import' curl --data-binary "@import.txt" -X POST 'http://destination-victoriametrics:8428/api/v1/import'
``` ```
@ -99,7 +99,7 @@ curl --data-binary "@import.txt" -X POST 'http://destination-victoriametrics:842
Cluster: Cluster:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl --data-binary "@import.txt" -X POST 'http://<vminsert>:8480/insert/0/prometheus/api/v1/import' curl --data-binary "@import.txt" -X POST 'http://<vminsert>:8480/insert/0/prometheus/api/v1/import'
``` ```
@ -107,7 +107,7 @@ curl --data-binary "@import.txt" -X POST 'http://<vminsert>:8480/insert/0/promet
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -d 'metric_name{foo="bar"} 123' -X POST 'http://<vminsert>:8480/insert/0/prometheus/api/v1/import/prometheus' curl -d 'metric_name{foo="bar"} 123' -X POST 'http://<vminsert>:8480/insert/0/prometheus/api/v1/import/prometheus'
``` ```
@ -124,7 +124,7 @@ Additional information:
Single: Single:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl --data-binary "@import.txt" -X POST 'http://localhost:8428/api/v1/import/prometheus' curl --data-binary "@import.txt" -X POST 'http://localhost:8428/api/v1/import/prometheus'
curl -d "GOOG,1.23,4.56,NYSE" 'http://localhost:8428/api/v1/import/csv?format=2:metric:ask,3:metric:bid,1:label:ticker,4:label:market' curl -d "GOOG,1.23,4.56,NYSE" 'http://localhost:8428/api/v1/import/csv?format=2:metric:ask,3:metric:bid,1:label:ticker,4:label:market'
``` ```
@ -134,7 +134,7 @@ curl -d "GOOG,1.23,4.56,NYSE" 'http://localhost:8428/api/v1/import/csv?format=2:
Cluster: Cluster:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl --data-binary "@import.txt" -X POST 'http://<vminsert>:8480/insert/0/prometheus/api/v1/import/csv' curl --data-binary "@import.txt" -X POST 'http://<vminsert>:8480/insert/0/prometheus/api/v1/import/csv'
curl -d "GOOG,1.23,4.56,NYSE" 'http://<vminsert>:8480/insert/0/prometheus/api/v1/import/csv?format=2:metric:ask,3:metric:bid,1:label:ticker,4:label:market' curl -d "GOOG,1.23,4.56,NYSE" 'http://<vminsert>:8480/insert/0/prometheus/api/v1/import/csv?format=2:metric:ask,3:metric:bid,1:label:ticker,4:label:market'
``` ```
@ -153,7 +153,7 @@ Additional information:
Single: Single:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://localhost:8428/prometheus/api/v1/labels' curl -G 'http://localhost:8428/prometheus/api/v1/labels'
``` ```
@ -162,7 +162,7 @@ curl -G 'http://localhost:8428/prometheus/api/v1/labels'
Cluster: Cluster:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://<vmselect>:8481/select/0/prometheus/api/v1/labels' curl -G 'http://<vmselect>:8481/select/0/prometheus/api/v1/labels'
``` ```
@ -179,7 +179,7 @@ Additional information:
Single: Single:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://localhost:8428/prometheus/api/v1/label/job/values' curl -G 'http://localhost:8428/prometheus/api/v1/label/job/values'
``` ```
@ -188,7 +188,7 @@ curl -G 'http://localhost:8428/prometheus/api/v1/label/job/values'
Cluster: Cluster:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://<vmselect>:8481/select/0/prometheus/api/v1/label/job/values' curl -G 'http://<vmselect>:8481/select/0/prometheus/api/v1/label/job/values'
``` ```
@ -204,7 +204,7 @@ Additional information:
Single: Single:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://localhost:8428/prometheus/api/v1/query?query=vm_http_request_errors_total&time=2021-02-22T19:10:30.781Z' curl -G 'http://localhost:8428/prometheus/api/v1/query?query=vm_http_request_errors_total&time=2021-02-22T19:10:30.781Z'
``` ```
@ -213,7 +213,7 @@ curl -G 'http://localhost:8428/prometheus/api/v1/query?query=vm_http_request_err
Cluster: Cluster:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://<vmselect>:8481/select/0/prometheus/api/v1/query?query=vm_http_request_errors_total&time=2021-02-22T19:10:30.781Z' curl -G 'http://<vmselect>:8481/select/0/prometheus/api/v1/query?query=vm_http_request_errors_total&time=2021-02-22T19:10:30.781Z'
``` ```
@ -231,7 +231,7 @@ Additional information:
Single: Single:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://localhost:8428/prometheus/api/v1/query_range?query=vm_http_request_errors_total&start=2021-02-22T19:10:30.781Z&step=20m' curl -G 'http://localhost:8428/prometheus/api/v1/query_range?query=vm_http_request_errors_total&start=2021-02-22T19:10:30.781Z&step=20m'
``` ```
@ -240,7 +240,7 @@ curl -G 'http://localhost:8428/prometheus/api/v1/query_range?query=vm_http_reque
Cluster: Cluster:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://<vmselect>:8481/select/0/prometheus/api/v1/query_range?query=vm_http_request_errors_total&start=2021-02-22T19:10:30.781Z&step=20m' curl -G 'http://<vmselect>:8481/select/0/prometheus/api/v1/query_range?query=vm_http_request_errors_total&start=2021-02-22T19:10:30.781Z&step=20m'
``` ```
@ -248,11 +248,11 @@ curl -G 'http://<vmselect>:8481/select/0/prometheus/api/v1/query_range?query=vm_
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://<vmselect>:8481/select/0/prometheus/api/v1/query_range?query=vm_http_request_errors_total&start=-1h&step=10m' curl -G 'http://<vmselect>:8481/select/0/prometheus/api/v1/query_range?query=vm_http_request_errors_total&start=-1h&step=10m'
``` ```
```bash ```console
curl -G http://<vmselect>:8481/select/0/prometheus/api/v1/query_range --data-urlencode 'query=sum(increase(vm_http_request_errors_total{status=""}[5m])) by (status)' curl -G http://<vmselect>:8481/select/0/prometheus/api/v1/query_range --data-urlencode 'query=sum(increase(vm_http_request_errors_total{status=""}[5m])) by (status)'
``` ```
@ -270,7 +270,7 @@ Additional information:
Single: Single:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://localhost:8428/prometheus/api/v1/series?match[]=vm_http_request_errors_total&start=-1h' curl -G 'http://localhost:8428/prometheus/api/v1/series?match[]=vm_http_request_errors_total&start=-1h'
``` ```
@ -279,7 +279,7 @@ curl -G 'http://localhost:8428/prometheus/api/v1/series?match[]=vm_http_request_
Cluster: Cluster:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://<vmselect>:8481/select/0/prometheus/api/v1/series?match[]=vm_http_request_errors_total&start=-1h' curl -G 'http://<vmselect>:8481/select/0/prometheus/api/v1/series?match[]=vm_http_request_errors_total&start=-1h'
``` ```
@ -296,7 +296,7 @@ Additional information:
Single: Single:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://localhost:8428/prometheus/api/v1/status/tsdb' curl -G 'http://localhost:8428/prometheus/api/v1/status/tsdb'
``` ```
@ -305,7 +305,7 @@ curl -G 'http://localhost:8428/prometheus/api/v1/status/tsdb'
Cluster: Cluster:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://<vmselect>:8481/select/0/prometheus/api/v1/status/tsdb' curl -G 'http://<vmselect>:8481/select/0/prometheus/api/v1/status/tsdb'
``` ```
@ -324,7 +324,7 @@ Should be sent to vmagent/VMsingle
Single: Single:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://<vmsingle>:8428/api/v1/targets' curl -G 'http://<vmsingle>:8428/api/v1/targets'
``` ```
@ -332,7 +332,7 @@ curl -G 'http://<vmsingle>:8428/api/v1/targets'
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://<vmagent>:8429/api/v1/targets' curl -G 'http://<vmagent>:8429/api/v1/targets'
``` ```
@ -349,7 +349,7 @@ Additional information:
Single: Single:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
echo ' echo '
{ {
"series": [ "series": [
@ -376,7 +376,7 @@ echo '
Cluster: Cluster:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
echo ' echo '
{ {
"series": [ "series": [
@ -411,7 +411,7 @@ Additional information:
Single: Single:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://localhost:8428/federate?match[]=vm_http_request_errors_total&start=2021-02-22T19:10:30.781Z' curl -G 'http://localhost:8428/federate?match[]=vm_http_request_errors_total&start=2021-02-22T19:10:30.781Z'
``` ```
@ -420,7 +420,7 @@ curl -G 'http://localhost:8428/federate?match[]=vm_http_request_errors_total&sta
Cluster: Cluster:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://<vmselect>:8481/select/0/prometheus/federate?match[]=vm_http_request_errors_total&start=2021-02-22T19:10:30.781Z' curl -G 'http://<vmselect>:8481/select/0/prometheus/federate?match[]=vm_http_request_errors_total&start=2021-02-22T19:10:30.781Z'
``` ```
@ -438,7 +438,7 @@ Additional information:
Single: Single:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://localhost:8428/graphite/metrics/find?query=vm_http_request_errors_total' curl -G 'http://localhost:8428/graphite/metrics/find?query=vm_http_request_errors_total'
``` ```
@ -447,7 +447,7 @@ curl -G 'http://localhost:8428/graphite/metrics/find?query=vm_http_request_error
Cluster: Cluster:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -G 'http://<vmselect>:8481/select/0/graphite/metrics/find?query=vm_http_request_errors_total' curl -G 'http://<vmselect>:8481/select/0/graphite/metrics/find?query=vm_http_request_errors_total'
``` ```
@ -466,7 +466,7 @@ Additional information:
Single: Single:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -d 'measurement,tag1=value1,tag2=value2 field1=123,field2=1.23' -X POST 'http://localhost:8428/write' curl -d 'measurement,tag1=value1,tag2=value2 field1=123,field2=1.23' -X POST 'http://localhost:8428/write'
``` ```
@ -475,7 +475,7 @@ curl -d 'measurement,tag1=value1,tag2=value2 field1=123,field2=1.23' -X POST 'ht
Cluster: Cluster:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -d 'measurement,tag1=value1,tag2=value2 field1=123,field2=1.23' -X POST 'http://<vminsert>:8480/insert/0/influx/write' curl -d 'measurement,tag1=value1,tag2=value2 field1=123,field2=1.23' -X POST 'http://<vminsert>:8480/insert/0/influx/write'
``` ```
@ -495,7 +495,7 @@ Turned off by default. Enable OpenTSDB receiver in VictoriaMetrics by setting `-
Single: Single:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
echo "put foo.bar.baz `date +%s` 123 tag1=value1 tag2=value2" | nc -N localhost 4242 echo "put foo.bar.baz `date +%s` 123 tag1=value1 tag2=value2" | nc -N localhost 4242
``` ```
@ -504,7 +504,7 @@ echo "put foo.bar.baz `date +%s` 123 tag1=value1 tag2=value2" | nc -N localhost
Cluster: Cluster:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
echo "put foo.bar.baz `date +%s` 123 tag1=value1 tag2=value2 VictoriaMetrics_AccountID=0" | nc -N http://<vminsert> 4242 echo "put foo.bar.baz `date +%s` 123 tag1=value1 tag2=value2 VictoriaMetrics_AccountID=0" | nc -N http://<vminsert> 4242
``` ```
@ -515,7 +515,7 @@ Enable HTTP server for OpenTSDB /api/put requests by setting `-opentsdbHTTPListe
Single: Single:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -H 'Content-Type: application/json' -d '[{"metric":"foo","value":45.34},{"metric":"bar","value":43}]' http://localhost:4242/api/put curl -H 'Content-Type: application/json' -d '[{"metric":"foo","value":45.34},{"metric":"bar","value":43}]' http://localhost:4242/api/put
``` ```
@ -524,7 +524,7 @@ curl -H 'Content-Type: application/json' -d '[{"metric":"foo","value":45.34},{"m
Cluster: Cluster:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl -H 'Content-Type: application/json' -d '[{"metric":"foo","value":45.34},{"metric":"bar","value":43}]' curl -H 'Content-Type: application/json' -d '[{"metric":"foo","value":45.34},{"metric":"bar","value":43}]'
'http://<vminsert>:8480/insert/42/opentsdb/api/put' 'http://<vminsert>:8480/insert/42/opentsdb/api/put'
``` ```
@ -543,7 +543,7 @@ Enable Graphite receiver in VictoriaMetrics by setting `-graphiteListenAddr` com
Single: Single:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
echo "foo.bar.baz;tag1=value1;tag2=value2 123 `date +%s`" | echo "foo.bar.baz;tag1=value1;tag2=value2 123 `date +%s`" |
nc -N localhost 2003 nc -N localhost 2003
``` ```
@ -553,7 +553,7 @@ echo "foo.bar.baz;tag1=value1;tag2=value2 123 `date +%s`" |
Cluster: Cluster:
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
echo "foo.bar.baz;tag1=value1;tag2=value2;VictoriaMetrics_AccountID=42 123 `date +%s`" | nc -N http://<vminsert> 2003 echo "foo.bar.baz;tag1=value1;tag2=value2;VictoriaMetrics_AccountID=42 123 `date +%s`" | nc -N http://<vminsert> 2003
``` ```

View File

@ -77,7 +77,7 @@ Pass `-help` to `vmagent` in order to see [the full list of supported command-li
* Sending `SUGHUP` signal to `vmagent` process: * Sending `SUGHUP` signal to `vmagent` process:
```bash ```console
kill -SIGHUP `pidof vmagent` kill -SIGHUP `pidof vmagent`
``` ```
@ -597,7 +597,7 @@ Every Kafka message may contain multiple lines in `influx`, `prometheus`, `graph
The following command starts `vmagent`, which reads metrics in InfluxDB line protocol format from Kafka broker at `localhost:9092` from the topic `metrics-by-telegraf` and sends them to remote storage at `http://localhost:8428/api/v1/write`: The following command starts `vmagent`, which reads metrics in InfluxDB line protocol format from Kafka broker at `localhost:9092` from the topic `metrics-by-telegraf` and sends them to remote storage at `http://localhost:8428/api/v1/write`:
```bash ```console
./bin/vmagent -remoteWrite.url=http://localhost:8428/api/v1/write \ ./bin/vmagent -remoteWrite.url=http://localhost:8428/api/v1/write \
-kafka.consumer.topic.brokers=localhost:9092 \ -kafka.consumer.topic.brokers=localhost:9092 \
-kafka.consumer.topic.format=influx \ -kafka.consumer.topic.format=influx \
@ -659,13 +659,13 @@ Two types of auth are supported:
* sasl with username and password: * sasl with username and password:
```bash ```console
./bin/vmagent -remoteWrite.url=kafka://localhost:9092/?topic=prom-rw&security.protocol=SASL_SSL&sasl.mechanisms=PLAIN -remoteWrite.basicAuth.username=user -remoteWrite.basicAuth.password=password ./bin/vmagent -remoteWrite.url=kafka://localhost:9092/?topic=prom-rw&security.protocol=SASL_SSL&sasl.mechanisms=PLAIN -remoteWrite.basicAuth.username=user -remoteWrite.basicAuth.password=password
``` ```
* tls certificates: * tls certificates:
```bash ```console
./bin/vmagent -remoteWrite.url=kafka://localhost:9092/?topic=prom-rw&security.protocol=SSL -remoteWrite.tlsCAFile=/opt/ca.pem -remoteWrite.tlsCertFile=/opt/cert.pem -remoteWrite.tlsKeyFile=/opt/key.pem ./bin/vmagent -remoteWrite.url=kafka://localhost:9092/?topic=prom-rw&security.protocol=SSL -remoteWrite.tlsCAFile=/opt/ca.pem -remoteWrite.tlsCertFile=/opt/cert.pem -remoteWrite.tlsKeyFile=/opt/key.pem
``` ```
@ -694,7 +694,7 @@ The `<PKG_TAG>` may be manually set via `PKG_TAG=foobar make package-vmagent`.
The base docker image is [alpine](https://hub.docker.com/_/alpine) but it is possible to use any other base image The base docker image is [alpine](https://hub.docker.com/_/alpine) but it is possible to use any other base image
by setting it via `<ROOT_IMAGE>` environment variable. For example, the following command builds the image on top of [scratch](https://hub.docker.com/_/scratch) image: by setting it via `<ROOT_IMAGE>` environment variable. For example, the following command builds the image on top of [scratch](https://hub.docker.com/_/scratch) image:
```bash ```console
ROOT_IMAGE=scratch make package-vmagent ROOT_IMAGE=scratch make package-vmagent
``` ```
@ -722,7 +722,7 @@ ARM build may run on Raspberry Pi or on [energy-efficient ARM servers](https://b
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl http://0.0.0.0:8429/debug/pprof/heap > mem.pprof curl http://0.0.0.0:8429/debug/pprof/heap > mem.pprof
``` ```
@ -732,7 +732,7 @@ curl http://0.0.0.0:8429/debug/pprof/heap > mem.pprof
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl http://0.0.0.0:8429/debug/pprof/profile > cpu.pprof curl http://0.0.0.0:8429/debug/pprof/profile > cpu.pprof
``` ```

View File

@ -40,7 +40,7 @@ implementation and aims to be compatible with its syntax.
To build `vmalert` from sources: To build `vmalert` from sources:
```bash ```console
git clone https://github.com/VictoriaMetrics/VictoriaMetrics git clone https://github.com/VictoriaMetrics/VictoriaMetrics
cd VictoriaMetrics cd VictoriaMetrics
make vmalert make vmalert
@ -62,7 +62,7 @@ To start using `vmalert` you will need the following things:
Then configure `vmalert` accordingly: Then configure `vmalert` accordingly:
```bash ```console
./bin/vmalert -rule=alert.rules \ # Path to the file with rules configuration. Supports wildcard ./bin/vmalert -rule=alert.rules \ # Path to the file with rules configuration. Supports wildcard
-datasource.url=http://localhost:8428 \ # PromQL compatible datasource -datasource.url=http://localhost:8428 \ # PromQL compatible datasource
-notifier.url=http://localhost:9093 \ # AlertManager URL (required if alerting rules are used) -notifier.url=http://localhost:9093 \ # AlertManager URL (required if alerting rules are used)
@ -1042,7 +1042,7 @@ It is recommended using
You can build `vmalert` docker image from source and push it to your own docker repository. You can build `vmalert` docker image from source and push it to your own docker repository.
Run the following commands from the root folder of [the repository](https://github.com/VictoriaMetrics/VictoriaMetrics): Run the following commands from the root folder of [the repository](https://github.com/VictoriaMetrics/VictoriaMetrics):
```bash ```console
make package-vmalert make package-vmalert
docker tag victoria-metrics/vmalert:version my-repo:my-version-name docker tag victoria-metrics/vmalert:version my-repo:my-version-name
docker push my-repo:my-version-name docker push my-repo:my-version-name

View File

@ -14,7 +14,7 @@ The `-auth.config` can point to either local file or to http url.
Just download `vmutils-*` archive from [releases page](https://github.com/VictoriaMetrics/VictoriaMetrics/releases), unpack it Just download `vmutils-*` archive from [releases page](https://github.com/VictoriaMetrics/VictoriaMetrics/releases), unpack it
and pass the following flag to `vmauth` binary in order to start authorizing and routing requests: and pass the following flag to `vmauth` binary in order to start authorizing and routing requests:
```bash ```console
/path/to/vmauth -auth.config=/path/to/auth/config.yml /path/to/vmauth -auth.config=/path/to/auth/config.yml
``` ```
@ -133,7 +133,7 @@ It is expected that all the backend services protected by `vmauth` are located i
Do not transfer Basic Auth headers in plaintext over untrusted networks. Enable https. This can be done by passing the following `-tls*` command-line flags to `vmauth`: Do not transfer Basic Auth headers in plaintext over untrusted networks. Enable https. This can be done by passing the following `-tls*` command-line flags to `vmauth`:
```bash ```console
-tls -tls
Whether to enable TLS (aka HTTPS) for incoming requests. -tlsCertFile and -tlsKeyFile must be set if -tls is set Whether to enable TLS (aka HTTPS) for incoming requests. -tlsCertFile and -tlsKeyFile must be set if -tls is set
-tlsCertFile string -tlsCertFile string
@ -185,7 +185,7 @@ The `<PKG_TAG>` may be manually set via `PKG_TAG=foobar make package-vmauth`.
The base docker image is [alpine](https://hub.docker.com/_/alpine) but it is possible to use any other base image The base docker image is [alpine](https://hub.docker.com/_/alpine) but it is possible to use any other base image
by setting it via `<ROOT_IMAGE>` environment variable. For example, the following command builds the image on top of [scratch](https://hub.docker.com/_/scratch) image: by setting it via `<ROOT_IMAGE>` environment variable. For example, the following command builds the image on top of [scratch](https://hub.docker.com/_/scratch) image:
```bash ```console
ROOT_IMAGE=scratch make package-vmauth ROOT_IMAGE=scratch make package-vmauth
``` ```
@ -197,7 +197,7 @@ ROOT_IMAGE=scratch make package-vmauth
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl http://0.0.0.0:8427/debug/pprof/heap > mem.pprof curl http://0.0.0.0:8427/debug/pprof/heap > mem.pprof
``` ```
@ -207,7 +207,7 @@ curl http://0.0.0.0:8427/debug/pprof/heap > mem.pprof
<div class="with-copy" markdown="1"> <div class="with-copy" markdown="1">
```bash ```console
curl http://0.0.0.0:8427/debug/pprof/profile > cpu.pprof curl http://0.0.0.0:8427/debug/pprof/profile > cpu.pprof
``` ```
@ -221,7 +221,7 @@ The collected profiles may be analyzed with [go tool pprof](https://github.com/g
Pass `-help` command-line arg to `vmauth` in order to see all the configuration options: Pass `-help` command-line arg to `vmauth` in order to see all the configuration options:
```bash ```console
./vmauth -help ./vmauth -help
vmauth authenticates and authorizes incoming requests and proxies them to VictoriaMetrics. vmauth authenticates and authorizes incoming requests and proxies them to VictoriaMetrics.

View File

@ -32,7 +32,7 @@ creation of hourly, daily, weekly and monthly backups.
Regular backup can be performed with the following command: Regular backup can be performed with the following command:
```bash ```console
vmbackup -storageDataPath=</path/to/victoria-metrics-data> -snapshot.createURL=http://localhost:8428/snapshot/create -dst=gs://<bucket>/<path/to/new/backup> vmbackup -storageDataPath=</path/to/victoria-metrics-data> -snapshot.createURL=http://localhost:8428/snapshot/create -dst=gs://<bucket>/<path/to/new/backup>
``` ```
@ -47,7 +47,7 @@ vmbackup -storageDataPath=</path/to/victoria-metrics-data> -snapshot.createURL=h
If the destination GCS bucket already contains the previous backup at `-origin` path, then new backup can be sped up If the destination GCS bucket already contains the previous backup at `-origin` path, then new backup can be sped up
with the following command: with the following command:
```bash ```console
./vmbackup -storageDataPath=</path/to/victoria-metrics-data> -snapshot.createURL=http://localhost:8428/snapshot/create -dst=gs://<bucket>/<path/to/new/backup> -origin=gs://<bucket>/<path/to/existing/backup> ./vmbackup -storageDataPath=</path/to/victoria-metrics-data> -snapshot.createURL=http://localhost:8428/snapshot/create -dst=gs://<bucket>/<path/to/new/backup> -origin=gs://<bucket>/<path/to/existing/backup>
``` ```
@ -58,7 +58,7 @@ It saves time and network bandwidth costs by performing server-side copy for the
Incremental backups are performed if `-dst` points to an already existing backup. In this case only new data is uploaded to remote storage. Incremental backups are performed if `-dst` points to an already existing backup. In this case only new data is uploaded to remote storage.
It saves time and network bandwidth costs when working with big backups: It saves time and network bandwidth costs when working with big backups:
```bash ```console
./vmbackup -storageDataPath=</path/to/victoria-metrics-data> -snapshot.createURL=http://localhost:8428/snapshot/create -dst=gs://<bucket>/<path/to/existing/backup> ./vmbackup -storageDataPath=</path/to/victoria-metrics-data> -snapshot.createURL=http://localhost:8428/snapshot/create -dst=gs://<bucket>/<path/to/existing/backup>
``` ```
@ -68,7 +68,7 @@ Smart backups mean storing full daily backups into `YYYYMMDD` folders and creati
* Run the following command every hour: * Run the following command every hour:
```bash ```console
./vmbackup -storageDataPath=</path/to/victoria-metrics-data> -snapshot.createURL=http://localhost:8428/snapshot/create -dst=gs://<bucket>/latest ./vmbackup -storageDataPath=</path/to/victoria-metrics-data> -snapshot.createURL=http://localhost:8428/snapshot/create -dst=gs://<bucket>/latest
``` ```
@ -77,7 +77,7 @@ The command will upload only changed data to `gs://<bucket>/latest`.
* Run the following command once a day: * Run the following command once a day:
```bash ```console
vmbackup -storageDataPath=</path/to/victoria-metrics-data> -snapshot.createURL=http://localhost:8428/snapshot/create -dst=gs://<bucket>/<YYYYMMDD> -origin=gs://<bucket>/latest vmbackup -storageDataPath=</path/to/victoria-metrics-data> -snapshot.createURL=http://localhost:8428/snapshot/create -dst=gs://<bucket>/<YYYYMMDD> -origin=gs://<bucket>/latest
``` ```
@ -133,7 +133,7 @@ See [this article](https://medium.com/@valyala/speeding-up-backups-for-big-time-
for s3 (aws, minio or other s3 compatible storages): for s3 (aws, minio or other s3 compatible storages):
```bash ```console
[default] [default]
aws_access_key_id=theaccesskey aws_access_key_id=theaccesskey
aws_secret_access_key=thesecretaccesskeyvalue aws_secret_access_key=thesecretaccesskeyvalue
@ -159,7 +159,7 @@ See [this article](https://medium.com/@valyala/speeding-up-backups-for-big-time-
* Usage with s3 custom url endpoint. It is possible to use `vmbackup` with s3 compatible storages like minio, cloudian, etc. * Usage with s3 custom url endpoint. It is possible to use `vmbackup` with s3 compatible storages like minio, cloudian, etc.
You have to add a custom url endpoint via flag: You have to add a custom url endpoint via flag:
```bash ```console
# for minio # for minio
-customS3Endpoint=http://localhost:9000 -customS3Endpoint=http://localhost:9000
@ -169,7 +169,7 @@ See [this article](https://medium.com/@valyala/speeding-up-backups-for-big-time-
* Run `vmbackup -help` in order to see all the available options: * Run `vmbackup -help` in order to see all the available options:
```bash ```console
-concurrency int -concurrency int
The number of concurrent workers. Higher concurrency may reduce backup duration (default 10) The number of concurrent workers. Higher concurrency may reduce backup duration (default 10)
-configFilePath string -configFilePath string
@ -284,6 +284,6 @@ The `<PKG_TAG>` may be manually set via `PKG_TAG=foobar make package-vmbackup`.
The base docker image is [alpine](https://hub.docker.com/_/alpine) but it is possible to use any other base image The base docker image is [alpine](https://hub.docker.com/_/alpine) but it is possible to use any other base image
by setting it via `<ROOT_IMAGE>` environment variable. For example, the following command builds the image on top of [scratch](https://hub.docker.com/_/scratch) image: by setting it via `<ROOT_IMAGE>` environment variable. For example, the following command builds the image on top of [scratch](https://hub.docker.com/_/scratch) image:
```bash ```console
ROOT_IMAGE=scratch make package-vmbackup ROOT_IMAGE=scratch make package-vmbackup
``` ```

View File

@ -19,7 +19,7 @@ Features:
To see the full list of supported modes To see the full list of supported modes
run the following command: run the following command:
```bash ```console
$ ./vmctl --help $ ./vmctl --help
NAME: NAME:
vmctl - VictoriaMetrics command-line tool vmctl - VictoriaMetrics command-line tool
@ -531,7 +531,7 @@ and specify `accountID` param.
In this mode, `vmctl` allows verifying correctness and integrity of data exported via [native format](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#how-to-export-data-in-native-format) from VictoriaMetrics. In this mode, `vmctl` allows verifying correctness and integrity of data exported via [native format](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#how-to-export-data-in-native-format) from VictoriaMetrics.
You can verify exported data at disk before uploading it by `vmctl verify-block` command: You can verify exported data at disk before uploading it by `vmctl verify-block` command:
```bash ```console
# export blocks from VictoriaMetrics # export blocks from VictoriaMetrics
curl localhost:8428/api/v1/export/native -g -d 'match[]={__name__!=""}' -o exported_data_block curl localhost:8428/api/v1/export/native -g -d 'match[]={__name__!=""}' -o exported_data_block
# verify block content # verify block content
@ -654,7 +654,7 @@ The `<PKG_TAG>` may be manually set via `PKG_TAG=foobar make package-vmctl`.
The base docker image is [alpine](https://hub.docker.com/_/alpine) but it is possible to use any other base image The base docker image is [alpine](https://hub.docker.com/_/alpine) but it is possible to use any other base image
by setting it via `<ROOT_IMAGE>` environment variable. For example, the following command builds the image on top of [scratch](https://hub.docker.com/_/scratch) image: by setting it via `<ROOT_IMAGE>` environment variable. For example, the following command builds the image on top of [scratch](https://hub.docker.com/_/scratch) image:
```bash ```console
ROOT_IMAGE=scratch make package-vmctl ROOT_IMAGE=scratch make package-vmctl
``` ```

View File

@ -58,7 +58,7 @@ Where:
Start the single version of VictoriaMetrics Start the single version of VictoriaMetrics
```bash ```console
# single # single
# start node # start node
./bin/victoria-metrics --selfScrapeInterval=10s ./bin/victoria-metrics --selfScrapeInterval=10s
@ -66,19 +66,19 @@ Start the single version of VictoriaMetrics
Start vmgateway Start vmgateway
```bash ```console
./bin/vmgateway -eula -enable.auth -read.url http://localhost:8428 --write.url http://localhost:8428 ./bin/vmgateway -eula -enable.auth -read.url http://localhost:8428 --write.url http://localhost:8428
``` ```
Retrieve data from the database Retrieve data from the database
```bash ```console
curl 'http://localhost:8431/api/v1/series/count' -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ2bV9hY2Nlc3MiOnsidGVuYW50X2lkIjp7fSwicm9sZSI6MX0sImV4cCI6MTkzOTM0NjIxMH0.5WUxEfdcV9hKo4CtQdtuZYOGpGXWwaqM9VuVivMMrVg' curl 'http://localhost:8431/api/v1/series/count' -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ2bV9hY2Nlc3MiOnsidGVuYW50X2lkIjp7fSwicm9sZSI6MX0sImV4cCI6MTkzOTM0NjIxMH0.5WUxEfdcV9hKo4CtQdtuZYOGpGXWwaqM9VuVivMMrVg'
``` ```
A request with an incorrect token or without any token will be rejected: A request with an incorrect token or without any token will be rejected:
```bash ```console
curl 'http://localhost:8431/api/v1/series/count' curl 'http://localhost:8431/api/v1/series/count'
curl 'http://localhost:8431/api/v1/series/count' -H 'Authorization: Bearer incorrect-token' curl 'http://localhost:8431/api/v1/series/count' -H 'Authorization: Bearer incorrect-token'
@ -128,7 +128,7 @@ limits:
cluster version of VictoriaMetrics is required for rate limiting. cluster version of VictoriaMetrics is required for rate limiting.
```bash ```console
# start datasource for cluster metrics # start datasource for cluster metrics
cat << EOF > cluster.yaml cat << EOF > cluster.yaml

View File

@ -14,7 +14,7 @@ when restarting `vmrestore` with the same args.
VictoriaMetrics must be stopped during the restore process. VictoriaMetrics must be stopped during the restore process.
```bash ```console
vmrestore -src=gs://<bucket>/<path/to/backup> -storageDataPath=<local/path/to/restore> vmrestore -src=gs://<bucket>/<path/to/backup> -storageDataPath=<local/path/to/restore>
``` ```
@ -40,7 +40,7 @@ i.e. the end result would be similar to [rsync --delete](https://askubuntu.com/q
for s3 (aws, minio or other s3 compatible storages): for s3 (aws, minio or other s3 compatible storages):
```bash ```console
[default] [default]
aws_access_key_id=theaccesskey aws_access_key_id=theaccesskey
aws_secret_access_key=thesecretaccesskeyvalue aws_secret_access_key=thesecretaccesskeyvalue
@ -66,7 +66,7 @@ i.e. the end result would be similar to [rsync --delete](https://askubuntu.com/q
* Usage with s3 custom url endpoint. It is possible to use `vmrestore` with s3 api compatible storages, like minio, cloudian and other. * Usage with s3 custom url endpoint. It is possible to use `vmrestore` with s3 api compatible storages, like minio, cloudian and other.
You have to add custom url endpoint with a flag: You have to add custom url endpoint with a flag:
```bash ```console
# for minio: # for minio:
-customS3Endpoint=http://localhost:9000 -customS3Endpoint=http://localhost:9000
@ -76,7 +76,7 @@ i.e. the end result would be similar to [rsync --delete](https://askubuntu.com/q
* Run `vmrestore -help` in order to see all the available options: * Run `vmrestore -help` in order to see all the available options:
```bash ```console
-concurrency int -concurrency int
The number of concurrent workers. Higher concurrency may reduce restore duration (default 10) The number of concurrent workers. Higher concurrency may reduce restore duration (default 10)
-configFilePath string -configFilePath string
@ -184,6 +184,6 @@ The `<PKG_TAG>` may be manually set via `PKG_TAG=foobar make package-vmrestore`.
The base docker image is [alpine](https://hub.docker.com/_/alpine) but it is possible to use any other base image The base docker image is [alpine](https://hub.docker.com/_/alpine) but it is possible to use any other base image
by setting it via `<ROOT_IMAGE>` environment variable. For example, the following command builds the image on top of [scratch](https://hub.docker.com/_/scratch) image: by setting it via `<ROOT_IMAGE>` environment variable. For example, the following command builds the image on top of [scratch](https://hub.docker.com/_/scratch) image:
```bash ```console
ROOT_IMAGE=scratch make package-vmrestore ROOT_IMAGE=scratch make package-vmrestore
``` ```