From c991ebb0aae8c78dc9fd362e132039ebb292cb42 Mon Sep 17 00:00:00 2001 From: Wiard van Rij Date: Mon, 20 Dec 2021 23:10:50 +0100 Subject: [PATCH 01/15] initial testing with parallel build Signed-off-by: Wiard van Rij --- .github/workflows/go.yaml | 8 +- Makefile | 9 +- scripts/gotesplit.sh | 386 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 399 insertions(+), 4 deletions(-) create mode 100755 scripts/gotesplit.sh diff --git a/.github/workflows/go.yaml b/.github/workflows/go.yaml index 6e9d95b658..e7eb7879fc 100644 --- a/.github/workflows/go.yaml +++ b/.github/workflows/go.yaml @@ -3,7 +3,6 @@ name: go on: push: branches: - - main tags: pull_request: @@ -55,6 +54,11 @@ jobs: - name: Linting & vetting. run: make go-lint e2e: + strategy: + fail-fast: true + matrix: + parallelism: [3] + index: [0,1,2] runs-on: ubuntu-latest name: Thanos end-to-end tests env: @@ -74,4 +78,4 @@ jobs: key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - name: Run e2e docker-based tests. - run: make test-e2e + run: make test-e2e GH_PARALLEL=${{ matrix.parallelism }} GH_INDEX=${{ matrix.index }} diff --git a/Makefile b/Makefile index 1248e75a1b..970970b3d1 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,9 @@ DOCKER_IMAGE_REPO ?= quay.io/thanos/thanos DOCKER_IMAGE_TAG ?= $(subst /,-,$(shell git rev-parse --abbrev-ref HEAD))-$(shell date +%Y-%m-%d)-$(shell git rev-parse --short HEAD) DOCKER_CI_TAG ?= test +GH_PARALLEL ?= 1 +GH_INDEX ?= 0 + BASE_DOCKER_SHA='' arch = $(shell uname -m) # Run `DOCKER_CLI_EXPERIMENTAL=enabled docker manifest inspect quay.io/prometheus/busybox:latest` to get SHA or @@ -276,15 +279,17 @@ test-local: .PHONY: test-e2e test-e2e: ## Runs all Thanos e2e docker-based e2e tests from test/e2e. Required access to docker daemon. -test-e2e: docker +test-e2e: @echo ">> cleaning docker environment." @docker system prune -f --volumes @echo ">> cleaning e2e test garbage." @rm -rf ./test/e2e/e2e_* + @echo ">> Getting gotesplit binary in the tmp dir." + scripts/gotesplit.sh -b /tmp @echo ">> running /test/e2e tests." # NOTE(bwplotka): # * If you see errors on CI (timeouts), but not locally, try to add -parallel 1 to limit to single CPU to reproduce small 1CPU machine. - @go test $(GOTEST_OPTS) ./test/e2e/... + @/tmp/gotesplit -total ${GH_PARALLEL} -index ${GH_INDEX} ./test/e2e/... -- ${GOTEST_OPTS} .PHONY: test-e2e-local test-e2e-local: ## Runs all thanos e2e tests locally. diff --git a/scripts/gotesplit.sh b/scripts/gotesplit.sh new file mode 100755 index 0000000000..23d6d3a2bb --- /dev/null +++ b/scripts/gotesplit.sh @@ -0,0 +1,386 @@ +#!/bin/sh +set -e +# Code generated by godownloader on 2020-10-17T11:00:00Z. DO NOT EDIT. +# Note: This is the install script from: https://github.com/Songmu/gotesplit +# + +usage() { + this=$1 + cat </dev/null +} +echoerr() { + echo "$@" 1>&2 +} +log_prefix() { + echo "$0" +} +_logp=6 +log_set_priority() { + _logp="$1" +} +log_priority() { + if test -z "$1"; then + echo "$_logp" + return + fi + [ "$1" -le "$_logp" ] +} +log_tag() { + case $1 in + 0) echo "emerg" ;; + 1) echo "alert" ;; + 2) echo "crit" ;; + 3) echo "err" ;; + 4) echo "warning" ;; + 5) echo "notice" ;; + 6) echo "info" ;; + 7) echo "debug" ;; + *) echo "$1" ;; + esac +} +log_debug() { + log_priority 7 || return 0 + echoerr "$(log_prefix)" "$(log_tag 7)" "$@" +} +log_info() { + log_priority 6 || return 0 + echoerr "$(log_prefix)" "$(log_tag 6)" "$@" +} +log_err() { + log_priority 3 || return 0 + echoerr "$(log_prefix)" "$(log_tag 3)" "$@" +} +log_crit() { + log_priority 2 || return 0 + echoerr "$(log_prefix)" "$(log_tag 2)" "$@" +} +uname_os() { + os=$(uname -s | tr '[:upper:]' '[:lower:]') + case "$os" in + cygwin_nt*) os="windows" ;; + mingw*) os="windows" ;; + msys_nt*) os="windows" ;; + esac + echo "$os" +} +uname_arch() { + arch=$(uname -m) + case $arch in + x86_64) arch="amd64" ;; + x86) arch="386" ;; + i686) arch="386" ;; + i386) arch="386" ;; + aarch64) arch="arm64" ;; + armv5*) arch="armv5" ;; + armv6*) arch="armv6" ;; + armv7*) arch="armv7" ;; + esac + echo ${arch} +} +uname_os_check() { + os=$(uname_os) + case "$os" in + darwin) return 0 ;; + dragonfly) return 0 ;; + freebsd) return 0 ;; + linux) return 0 ;; + android) return 0 ;; + nacl) return 0 ;; + netbsd) return 0 ;; + openbsd) return 0 ;; + plan9) return 0 ;; + solaris) return 0 ;; + windows) return 0 ;; + esac + log_crit "uname_os_check '$(uname -s)' got converted to '$os' which is not a GOOS value. Please file bug at https://github.com/client9/shlib" + return 1 +} +uname_arch_check() { + arch=$(uname_arch) + case "$arch" in + 386) return 0 ;; + amd64) return 0 ;; + arm64) return 0 ;; + armv5) return 0 ;; + armv6) return 0 ;; + armv7) return 0 ;; + ppc64) return 0 ;; + ppc64le) return 0 ;; + mips) return 0 ;; + mipsle) return 0 ;; + mips64) return 0 ;; + mips64le) return 0 ;; + s390x) return 0 ;; + amd64p32) return 0 ;; + esac + log_crit "uname_arch_check '$(uname -m)' got converted to '$arch' which is not a GOARCH value. Please file bug report at https://github.com/client9/shlib" + return 1 +} +untar() { + tarball=$1 + case "${tarball}" in + *.tar.gz | *.tgz) tar --no-same-owner -xzf "${tarball}" ;; + *.tar) tar --no-same-owner -xf "${tarball}" ;; + *.zip) unzip "${tarball}" ;; + *) + log_err "untar unknown archive format for ${tarball}" + return 1 + ;; + esac +} +http_download_curl() { + local_file=$1 + source_url=$2 + header=$3 + if [ -z "$header" ]; then + code=$(curl -w '%{http_code}' -sL -o "$local_file" "$source_url") + else + code=$(curl -w '%{http_code}' -sL -H "$header" -o "$local_file" "$source_url") + fi + if [ "$code" != "200" ]; then + log_debug "http_download_curl received HTTP status $code" + return 1 + fi + return 0 +} +http_download_wget() { + local_file=$1 + source_url=$2 + header=$3 + if [ -z "$header" ]; then + wget -q -O "$local_file" "$source_url" + else + wget -q --header "$header" -O "$local_file" "$source_url" + fi +} +http_download() { + log_debug "http_download $2" + if is_command curl; then + http_download_curl "$@" + return + elif is_command wget; then + http_download_wget "$@" + return + fi + log_crit "http_download unable to find wget or curl" + return 1 +} +http_copy() { + tmp=$(mktemp) + http_download "${tmp}" "$1" "$2" || return 1 + body=$(cat "$tmp") + rm -f "${tmp}" + echo "$body" +} +github_release() { + owner_repo=$1 + version=$2 + test -z "$version" && version="latest" + giturl="https://github.com/${owner_repo}/releases/${version}" + json=$(http_copy "$giturl" "Accept:application/json") + test -z "$json" && return 1 + version=$(echo "$json" | tr -s '\n' ' ' | sed 's/.*"tag_name":"//' | sed 's/".*//') + test -z "$version" && return 1 + echo "$version" +} +hash_sha256() { + TARGET=${1:-/dev/stdin} + if is_command gsha256sum; then + hash=$(gsha256sum "$TARGET") || return 1 + echo "$hash" | cut -d ' ' -f 1 + elif is_command sha256sum; then + hash=$(sha256sum "$TARGET") || return 1 + echo "$hash" | cut -d ' ' -f 1 + elif is_command shasum; then + hash=$(shasum -a 256 "$TARGET" 2>/dev/null) || return 1 + echo "$hash" | cut -d ' ' -f 1 + elif is_command openssl; then + hash=$(openssl -dst openssl dgst -sha256 "$TARGET") || return 1 + echo "$hash" | cut -d ' ' -f a + else + log_crit "hash_sha256 unable to find command to compute sha-256 hash" + return 1 + fi +} +hash_sha256_verify() { + TARGET=$1 + checksums=$2 + if [ -z "$checksums" ]; then + log_err "hash_sha256_verify checksum file not specified in arg2" + return 1 + fi + BASENAME=${TARGET##*/} + want=$(grep "${BASENAME}" "${checksums}" 2>/dev/null | tr '\t' ' ' | cut -d ' ' -f 1) + if [ -z "$want" ]; then + log_err "hash_sha256_verify unable to find checksum for '${TARGET}' in '${checksums}'" + return 1 + fi + got=$(hash_sha256 "$TARGET") + if [ "$want" != "$got" ]; then + log_err "hash_sha256_verify checksum for '$TARGET' did not verify ${want} vs $got" + return 1 + fi +} +cat /dev/null < Date: Mon, 20 Dec 2021 23:33:22 +0100 Subject: [PATCH 02/15] fixes makefile Signed-off-by: Wiard van Rij --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 970970b3d1..ffc6539aae 100644 --- a/Makefile +++ b/Makefile @@ -285,11 +285,11 @@ test-e2e: @echo ">> cleaning e2e test garbage." @rm -rf ./test/e2e/e2e_* @echo ">> Getting gotesplit binary in the tmp dir." - scripts/gotesplit.sh -b /tmp + scripts/gotesplit.sh -b /tmp/bin @echo ">> running /test/e2e tests." # NOTE(bwplotka): # * If you see errors on CI (timeouts), but not locally, try to add -parallel 1 to limit to single CPU to reproduce small 1CPU machine. - @/tmp/gotesplit -total ${GH_PARALLEL} -index ${GH_INDEX} ./test/e2e/... -- ${GOTEST_OPTS} + @/tmp/bin/gotesplit -total ${GH_PARALLEL} -index ${GH_INDEX} ./test/e2e/... -- ${GOTEST_OPTS} .PHONY: test-e2e-local test-e2e-local: ## Runs all thanos e2e tests locally. From e81409116c446945708387043875dd888b381260 Mon Sep 17 00:00:00 2001 From: Wiard van Rij Date: Mon, 20 Dec 2021 23:35:40 +0100 Subject: [PATCH 03/15] remove white noise Signed-off-by: Wiard van Rij --- CHANGELOG.md | 4 +- docs/components/compact.md | 42 +++++----- docs/components/query-frontend.md | 58 +++++++------- docs/components/query.md | 46 +++++------ docs/components/receive.md | 56 +++++++------- docs/components/rule.md | 50 ++++++------ docs/components/sidecar.md | 38 +++++----- docs/components/store.md | 44 +++++------ docs/components/tools.md | 122 +++++++++++++++--------------- pkg/ui/react-app/README.md | 2 +- 10 files changed, 231 insertions(+), 231 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 71cd969c87..a4aef55a53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -160,10 +160,10 @@ We use *breaking :warning:* to mark changes that are not backward compatible (re - [#4123](https://github.com/thanos-io/thanos/pull/4123) Query: match external labels for exemplars API. ### Changed -- +- ### Removed -- +- ## [v0.20.0](https://github.com/thanos-io/thanos/releases/tag/v0.20.0) - 2021.04.28 diff --git a/docs/components/compact.md b/docs/components/compact.md index d5ffad27c4..b9ba48a1ae 100644 --- a/docs/components/compact.md +++ b/docs/components/compact.md @@ -274,24 +274,24 @@ usage: thanos compact [] Continuously compacts blocks in an object store bucket. Flags: - --block-meta-fetch-concurrency=32 + --block-meta-fetch-concurrency=32 Number of goroutines to use when fetching block metadata from object storage. - --block-sync-concurrency=20 + --block-sync-concurrency=20 Number of goroutines to use when syncing block metadata from object storage. - --block-viewer.global.sync-block-interval=1m + --block-viewer.global.sync-block-interval=1m Repeat interval for syncing the blocks between local and remote view for /global Block Viewer UI. - --block-viewer.global.sync-block-timeout=5m + --block-viewer.global.sync-block-timeout=5m Maximum time for syncing the blocks between local and remote view for /global Block Viewer UI. - --bucket-web-label=BUCKET-WEB-LABEL + --bucket-web-label=BUCKET-WEB-LABEL Prometheus label to use as timeline title in the bucket web UI - --compact.cleanup-interval=5m + --compact.cleanup-interval=5m How often we should clean up partially uploaded blocks and blocks with deletion mark in the background when --wait has been enabled. Setting @@ -299,7 +299,7 @@ Flags: happen at the end of an iteration. --compact.concurrency=1 Number of goroutines to use when compacting groups. - --compact.progress-interval=5m + --compact.progress-interval=5m Frequency of calculating the compaction progress in the background when --wait has been enabled. Setting it to "0s" disables it. Now compaction, @@ -320,7 +320,7 @@ Flags: algorithm will be used. At least one replica label has to be set via --deduplication.replica-label flag. - --deduplication.replica-label=DEDUPLICATION.REPLICA-LABEL ... + --deduplication.replica-label=DEDUPLICATION.REPLICA-LABEL ... Label to treat as a replica indicator of blocks that can be deduplicated (repeated flag). This will merge multiple replica blocks into one. @@ -346,7 +346,7 @@ Flags: loaded, or compactor is ignoring the deletion because it's compacting the block at the same time. - --downsample.concurrency=1 + --downsample.concurrency=1 Number of goroutines to use when downsampling blocks. --downsampling.disable Disables downsampling. This is not recommended @@ -362,7 +362,7 @@ Flags: values are: "", "SHA256". -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. @@ -372,7 +372,7 @@ Flags: --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --max-time=9999-12-31T23:59:59Z + --max-time=9999-12-31T23:59:59Z End of time range limit to compact. Thanos Compactor will compact only blocks, which happened earlier than this value. Option can be @@ -380,36 +380,36 @@ Flags: duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y. - --min-time=0000-01-01T00:00:00Z + --min-time=0000-01-01T00:00:00Z Start of time range limit to compact. Thanos Compactor will compact only blocks, which happened later than this value. Option can be a constant time in RFC3339 format or time duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --retention.resolution-1h=0d + --retention.resolution-1h=0d How long to retain samples of resolution 2 (1 hour) in bucket. Setting this to 0d will retain samples of this resolution forever - --retention.resolution-5m=0d + --retention.resolution-5m=0d How long to retain samples of resolution 1 (5 minutes) in bucket. Setting this to 0d will retain samples of this resolution forever - --retention.resolution-raw=0d + --retention.resolution-raw=0d How long to retain raw samples in bucket. Setting this to 0d will retain samples of this resolution forever - --selector.relabel-config= + --selector.relabel-config= Alternative to 'selector.relabel-config-file' flag (mutually exclusive). Content of YAML file that contains relabeling configuration that @@ -417,18 +417,18 @@ Flags: Prometheus relabel-config syntax. See format details: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config - --selector.relabel-config-file= + --selector.relabel-config-file= Path to YAML file that contains relabeling configuration that allows selecting blocks. It follows native Prometheus relabel-config syntax. See format details: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration diff --git a/docs/components/query-frontend.md b/docs/components/query-frontend.md index e21ff4f0d3..f11bc3c5c2 100644 --- a/docs/components/query-frontend.md +++ b/docs/components/query-frontend.md @@ -157,46 +157,46 @@ Query frontend command implements a service deployed in front of queriers to improve query parallelization and caching. Flags: - --cache-compression-type="" + --cache-compression-type="" Use compression in results cache. Supported values are: 'snappy' and ” (disable compression). -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. --http.config="" [EXPERIMENTAL] Path to the configuration file that can enable TLS or authentication for all HTTP endpoints. - --labels.default-time-range=24h + --labels.default-time-range=24h The default metadata time range duration for retrieving labels through Labels and Series API when the range parameters are not specified. - --labels.max-query-parallelism=14 + --labels.max-query-parallelism=14 Maximum number of labels requests will be scheduled in parallel by the Frontend. - --labels.max-retries-per-request=5 + --labels.max-retries-per-request=5 Maximum number of retries for a single label/series API request; beyond this, the downstream error is returned. --labels.partial-response Enable partial response for labels requests if no partial_response param is specified. --no-labels.partial-response for disabling. - --labels.response-cache-config= + --labels.response-cache-config= Alternative to 'labels.response-cache-config-file' flag (mutually exclusive). Content of YAML file that contains response cache configuration. - --labels.response-cache-config-file= + --labels.response-cache-config-file= Path to YAML file that contains response cache configuration. - --labels.response-cache-max-freshness=1m + --labels.response-cache-max-freshness=1m Most recent allowed cacheable result for labels requests, to prevent caching very recent results that might still be in flux. - --labels.split-interval=24h + --labels.split-interval=24h Split labels requests by an interval and execute in parallel, it should be greater than 0 when labels.response-cache-config is @@ -213,9 +213,9 @@ Flags: LogStartAndFinishCall : Logs the start and finish call of the requests. NoLogCall : Disable request logging. - --query-frontend.compress-responses + --query-frontend.compress-responses Compress HTTP responses. - --query-frontend.downstream-tripper-config= + --query-frontend.downstream-tripper-config= Alternative to 'query-frontend.downstream-tripper-config-file' flag (mutually exclusive). Content of YAML file @@ -224,20 +224,20 @@ Flags: 127.0.0.1 then it is highly recommended to increase max_idle_conns_per_host to at least 100. - --query-frontend.downstream-tripper-config-file= + --query-frontend.downstream-tripper-config-file= Path to YAML file that contains downstream tripper configuration. If your downstream URL is localhost or 127.0.0.1 then it is highly recommended to increase max_idle_conns_per_host to at least 100. - --query-frontend.downstream-url="http://localhost:9090" + --query-frontend.downstream-url="http://localhost:9090" URL of downstream Prometheus Query compatible API. - --query-frontend.log-queries-longer-than=0 + --query-frontend.log-queries-longer-than=0 Log queries that are slower than the specified duration. Set to 0 to disable. Set to < 0 to enable on all queries. - --query-frontend.org-id-header= ... + --query-frontend.org-id-header= ... Request header names used to identify the source of slow queries (repeated flag). The values of the header will be added to the org @@ -245,63 +245,63 @@ Flags: headers match the request, the first matching arg specified will take precedence. If no headers match 'anonymous' will be used. - --query-range.align-range-with-step + --query-range.align-range-with-step Mutate incoming queries to align their start and end with their step for better cache-ability. Note: Grafana dashboards do that by default. - --query-range.max-query-length=0 + --query-range.max-query-length=0 Limit the query time range (end - start time) in the query-frontend, 0 disables it. - --query-range.max-query-parallelism=14 + --query-range.max-query-parallelism=14 Maximum number of query range requests will be scheduled in parallel by the Frontend. - --query-range.max-retries-per-request=5 + --query-range.max-retries-per-request=5 Maximum number of retries for a single query range request; beyond this, the downstream error is returned. - --query-range.partial-response + --query-range.partial-response Enable partial response for query range requests if no partial_response param is specified. --no-query-range.partial-response for disabling. - --query-range.request-downsampled + --query-range.request-downsampled Make additional query for downsampled data in case of empty or incomplete response to range request. - --query-range.response-cache-config= + --query-range.response-cache-config= Alternative to 'query-range.response-cache-config-file' flag (mutually exclusive). Content of YAML file that contains response cache configuration. - --query-range.response-cache-config-file= + --query-range.response-cache-config-file= Path to YAML file that contains response cache configuration. - --query-range.response-cache-max-freshness=1m + --query-range.response-cache-max-freshness=1m Most recent allowed cacheable result for query range requests, to prevent caching very recent results that might still be in flux. - --query-range.split-interval=24h + --query-range.split-interval=24h Split query range requests by an interval and execute in parallel, it should be greater than 0 when query-range.response-cache-config is configured. - --request.logging-config= + --request.logging-config= Alternative to 'request.logging-config-file' flag (mutually exclusive). Content of YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --request.logging-config-file= + --request.logging-config-file= Path to YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration diff --git a/docs/components/query.md b/docs/components/query.md index d178e46e94..9c99939a7c 100644 --- a/docs/components/query.md +++ b/docs/components/query.md @@ -255,7 +255,7 @@ Query node exposing PromQL enabled Query API with data retrieved from multiple store nodes. Flags: - --alert.query-url=ALERT.QUERY-URL + --alert.query-url=ALERT.QUERY-URL The external Thanos Query URL that would be set in all alerts 'Source' field. --enable-feature= ... Comma separated experimental feature names to @@ -267,16 +267,16 @@ Flags: prefixed with 'dns+' or 'dnssrv+' to detect Thanos API servers through respective DNS lookups. - --endpoint-strict= ... + --endpoint-strict= ... Addresses of only statically configured Thanos API servers that are always used, even if the health check fails. Useful if you have a caching layer on top. - --grpc-address="0.0.0.0:10901" + --grpc-address="0.0.0.0:10901" Listen ip:port address for gRPC endpoints (StoreAPI). Make sure this address is routable from other components. - --grpc-client-server-name="" + --grpc-client-server-name="" Server name to verify the hostname on the returned gRPC certificates. See https://tools.ietf.org/html/rfc4366#section-3.1 @@ -286,18 +286,18 @@ Flags: to the server --grpc-client-tls-key="" TLS Key for the client's certificate --grpc-client-tls-secure Use TLS when talking to the gRPC server - --grpc-client-tls-skip-verify + --grpc-client-tls-skip-verify Disable TLS certificate verification i.e self signed, signed by fake CA --grpc-grace-period=2m Time to wait after an interrupt received for GRPC Server. - --grpc-server-max-connection-age=60m + --grpc-server-max-connection-age=60m The grpc server max connection age. This controls how often to re-read the tls certificates and redo the TLS handshake --grpc-server-tls-cert="" TLS Certificate for gRPC server, leave blank to disable TLS - --grpc-server-tls-client-ca="" + --grpc-server-tls-client-ca="" TLS CA to verify clients against. If no client CA is specified, there is no client verification on server side. (tls.NoClientCert) @@ -305,7 +305,7 @@ Flags: disable TLS -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. @@ -327,7 +327,7 @@ Flags: --query.auto-downsampling Enable automatic adjustment (step / 5) to what source of data should be used in store gateways if no max_source_resolution param is specified. - --query.default-evaluation-interval=1m + --query.default-evaluation-interval=1m Set default evaluation interval for sub queries. --query.default-step=1s Set default step for range queries. Default @@ -337,7 +337,7 @@ Flags: max(rangeSeconds / 250, defaultStep)). This will not work from Grafana, but Grafana has __step variable which can be used. - --query.lookback-delta=QUERY.LOOKBACK-DELTA + --query.lookback-delta=QUERY.LOOKBACK-DELTA The maximum lookback duration for retrieving metrics during expression evaluations. PromQL always evaluates the query for the certain @@ -352,10 +352,10 @@ Flags: it will use the promql default of 5m. --query.max-concurrent=20 Maximum number of queries processed concurrently by query node. - --query.max-concurrent-select=4 + --query.max-concurrent-select=4 Maximum number of select requests made concurrently per a query. - --query.metadata.default-time-range=0s + --query.metadata.default-time-range=0s The default metadata time range duration for retrieving labels through Labels and Series API when the range parameters are not specified. @@ -364,24 +364,24 @@ Flags: --query.partial-response Enable partial response for queries if no partial_response param is specified. --no-query.partial-response for disabling. - --query.replica-label=QUERY.REPLICA-LABEL ... + --query.replica-label=QUERY.REPLICA-LABEL ... Labels to treat as a replica indicator along which data is deduplicated. Still you will be able to query without deduplication using 'dedup=false' parameter. Data includes time series, recording rules, and alerting rules. --query.timeout=2m Maximum time to process query by query node. - --request.logging-config= + --request.logging-config= Alternative to 'request.logging-config-file' flag (mutually exclusive). Content of YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --request.logging-config-file= + --request.logging-config-file= Path to YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --selector-label=="" ... + --selector-label=="" ... Query selector labels that will be exposed in info endpoint (repeated). --store= ... Deprecation Warning - This flag is deprecated @@ -390,35 +390,35 @@ Flags: (repeatable). The scheme may be prefixed with 'dns+' or 'dnssrv+' to detect store API servers through respective DNS lookups. - --store-strict= ... + --store-strict= ... Deprecation Warning - This flag is deprecated and replaced with `endpoint-strict`. Addresses of only statically configured store API servers that are always used, even if the health check fails. Useful if you have a caching layer on top. - --store.response-timeout=0ms + --store.response-timeout=0ms If a Store doesn't send any data in this specified duration then a Store will be ignored and partial data will be returned if it's enabled. 0 disables timeout. - --store.sd-dns-interval=30s + --store.sd-dns-interval=30s Interval between DNS resolutions. - --store.sd-files= ... + --store.sd-files= ... Path to files that contain addresses of store API servers. The path can be a glob pattern (repeatable). --store.sd-interval=5m Refresh interval to re-read file SD files. It is used as a resync fallback. - --store.unhealthy-timeout=5m + --store.unhealthy-timeout=5m Timeout before an unhealthy store is cleaned from the store UI page. - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration diff --git a/docs/components/receive.md b/docs/components/receive.md index 881f742d2b..c0fe792284 100644 --- a/docs/components/receive.md +++ b/docs/components/receive.md @@ -70,19 +70,19 @@ usage: thanos receive [] Accept Prometheus remote write API requests and write to local tsdb. Flags: - --grpc-address="0.0.0.0:10901" + --grpc-address="0.0.0.0:10901" Listen ip:port address for gRPC endpoints (StoreAPI). Make sure this address is routable from other components. --grpc-grace-period=2m Time to wait after an interrupt received for GRPC Server. - --grpc-server-max-connection-age=60m + --grpc-server-max-connection-age=60m The grpc server max connection age. This controls how often to re-read the tls certificates and redo the TLS handshake --grpc-server-tls-cert="" TLS Certificate for gRPC server, leave blank to disable TLS - --grpc-server-tls-client-ca="" + --grpc-server-tls-client-ca="" TLS CA to verify clients against. If no client CA is specified, there is no client verification on server side. (tls.NoClientCert) @@ -96,7 +96,7 @@ Flags: Possible values are: "", "SHA256". -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. @@ -109,90 +109,90 @@ Flags: --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --receive.default-tenant-id="default-tenant" + --receive.default-tenant-id="default-tenant" Default tenant ID to use when none is provided via a header. - --receive.hashrings= + --receive.hashrings= Alternative to 'receive.hashrings-file' flag (lower priority). Content of file that contains the hashring configuration. - --receive.hashrings-file= + --receive.hashrings-file= Path to file that contains the hashring configuration. A watcher is initialized to watch changes and update the hashring dynamically. - --receive.hashrings-file-refresh-interval=5m + --receive.hashrings-file-refresh-interval=5m Refresh interval to re-read the hashring configuration file. (used as a fallback) - --receive.local-endpoint=RECEIVE.LOCAL-ENDPOINT + --receive.local-endpoint=RECEIVE.LOCAL-ENDPOINT Endpoint of local receive node. Used to identify the local node in the hashring configuration. - --receive.replica-header="THANOS-REPLICA" + --receive.replica-header="THANOS-REPLICA" HTTP header specifying the replica number of a write request. - --receive.replication-factor=1 + --receive.replication-factor=1 How many times to replicate incoming write requests. - --receive.tenant-header="THANOS-TENANT" + --receive.tenant-header="THANOS-TENANT" HTTP header to determine tenant for write requests. - --receive.tenant-label-name="tenant_id" + --receive.tenant-label-name="tenant_id" Label name through which the tenant will be announced. - --remote-write.address="0.0.0.0:19291" + --remote-write.address="0.0.0.0:19291" Address to listen on for remote write requests. - --remote-write.client-server-name="" + --remote-write.client-server-name="" Server name to verify the hostname on the returned TLS certificates. See https://tools.ietf.org/html/rfc4366#section-3.1 - --remote-write.client-tls-ca="" + --remote-write.client-tls-ca="" TLS CA Certificates to use to verify servers. - --remote-write.client-tls-cert="" + --remote-write.client-tls-cert="" TLS Certificates to use to identify this client to the server. - --remote-write.client-tls-key="" + --remote-write.client-tls-key="" TLS Key for the client's certificate. - --remote-write.server-tls-cert="" + --remote-write.server-tls-cert="" TLS Certificate for HTTP server, leave blank to disable TLS. - --remote-write.server-tls-client-ca="" + --remote-write.server-tls-client-ca="" TLS CA to verify clients against. If no client CA is specified, there is no client verification on server side. (tls.NoClientCert) - --remote-write.server-tls-key="" + --remote-write.server-tls-key="" TLS Key for the HTTP server, leave blank to disable TLS. - --request.logging-config= + --request.logging-config= Alternative to 'request.logging-config-file' flag (mutually exclusive). Content of YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --request.logging-config-file= + --request.logging-config-file= Path to YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tsdb.allow-overlapping-blocks + --tsdb.allow-overlapping-blocks Allow overlapping blocks, which in turn enables vertical compaction and vertical query merge. --tsdb.max-exemplars=0 Enables support for ingesting exemplars and diff --git a/docs/components/rule.md b/docs/components/rule.md index 915be28828..9676d3a60a 100644 --- a/docs/components/rule.md +++ b/docs/components/rule.md @@ -262,22 +262,22 @@ Ruler evaluating Prometheus rules against given Query nodes, exposing Store API and storing old blocks in bucket. Flags: - --alert.label-drop=ALERT.LABEL-DROP ... + --alert.label-drop=ALERT.LABEL-DROP ... Labels by name to drop before sending to alertmanager. This allows alert to be deduplicated on replica label (repeated). Similar Prometheus alert relabelling - --alert.query-url=ALERT.QUERY-URL + --alert.query-url=ALERT.QUERY-URL The external Thanos Query URL that would be set in all alerts 'Source' field - --alert.relabel-config= + --alert.relabel-config= Alternative to 'alert.relabel-config-file' flag (mutually exclusive). Content of YAML file that contains alert relabelling configuration. - --alert.relabel-config-file= + --alert.relabel-config-file= Path to YAML file that contains alert relabelling configuration. - --alertmanagers.config= + --alertmanagers.config= Alternative to 'alertmanagers.config-file' flag (mutually exclusive). Content of YAML file that contains alerting configuration. See format @@ -286,19 +286,19 @@ Flags: If defined, it takes precedence over the '--alertmanagers.url' and '--alertmanagers.send-timeout' flags. - --alertmanagers.config-file= + --alertmanagers.config-file= Path to YAML file that contains alerting configuration. See format details: https://thanos.io/tip/components/rule.md/#configuration. If defined, it takes precedence over the '--alertmanagers.url' and '--alertmanagers.send-timeout' flags. - --alertmanagers.sd-dns-interval=30s + --alertmanagers.sd-dns-interval=30s Interval between DNS resolutions of Alertmanager hosts. - --alertmanagers.send-timeout=10s + --alertmanagers.send-timeout=10s Timeout for sending alerts to Alertmanager - --alertmanagers.url=ALERTMANAGERS.URL ... + --alertmanagers.url=ALERTMANAGERS.URL ... Alertmanager replica URLs to push firing alerts. Ruler claims success if push to at least one alertmanager from discovered @@ -311,7 +311,7 @@ Flags: prefix for the regular Alertmanager API path. --data-dir="data/" data directory --eval-interval=30s The default evaluation interval to use. - --grpc-address="0.0.0.0:10901" + --grpc-address="0.0.0.0:10901" Listen ip:port address for gRPC endpoints (StoreAPI). Make sure this address is routable from other components. @@ -319,7 +319,7 @@ Flags: GRPC Server. --grpc-server-tls-cert="" TLS Certificate for gRPC server, leave blank to disable TLS - --grpc-server-tls-client-ca="" + --grpc-server-tls-client-ca="" TLS CA to verify clients against. If no client CA is specified, there is no client verification on server side. (tls.NoClientCert) @@ -333,14 +333,14 @@ Flags: Possible values are: "", "SHA256". -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. --http.config="" [EXPERIMENTAL] Path to the configuration file that can enable TLS or authentication for all HTTP endpoints. - --label=="" ... + --label=="" ... Labels to be applied to all generated metrics (repeated). Similar to external labels for Prometheus, used to identify ruler and its @@ -357,13 +357,13 @@ Flags: LogStartAndFinishCall: Logs the start and finish call of the requests. NoLogCall: Disable request logging. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration @@ -379,7 +379,7 @@ Flags: https://thanos.io/tip/components/rule.md/#configuration. If defined, it takes precedence over the '--query' and '--query.sd-files' flags. - --query.config-file= + --query.config-file= Path to YAML file that contains query API servers configuration. See format details: https://thanos.io/tip/components/rule.md/#configuration. @@ -387,15 +387,15 @@ Flags: '--query' and '--query.sd-files' flags. --query.http-method=POST HTTP method to use when sending queries. Possible options: [GET, POST] - --query.sd-dns-interval=30s + --query.sd-dns-interval=30s Interval between DNS resolutions. - --query.sd-files= ... + --query.sd-files= ... Path to file that contains addresses of query API servers. The path can be a glob pattern (repeatable). --query.sd-interval=5m Refresh interval to re-read file SD files. (used as a fallback) - --remote-write.config= + --remote-write.config= Alternative to 'remote-write.config-file' flag (mutually exclusive). Content of YAML config for the remote-write configurations, that @@ -407,7 +407,7 @@ Flags: ruler's TSDB. If an empty config (or file) is provided, the flag is ignored and ruler is run with its own TSDB. - --remote-write.config-file= + --remote-write.config-file= Path to YAML config for the remote-write configurations, that specify servers where samples should be sent to (see @@ -417,13 +417,13 @@ Flags: ruler's TSDB. If an empty config (or file) is provided, the flag is ignored and ruler is run with its own TSDB. - --request.logging-config= + --request.logging-config= Alternative to 'request.logging-config-file' flag (mutually exclusive). Content of YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --request.logging-config-file= + --request.logging-config-file= Path to YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 @@ -431,18 +431,18 @@ Flags: an alert to Alertmanager. --rule-file=rules/ ... Rule files that should be used by rule manager. Can be in glob format (repeated). - --shipper.upload-compacted + --shipper.upload-compacted If true shipper will try to upload compacted blocks as well. Useful for migration purposes. Works only if compaction is disabled on Prometheus. Do it once and then disable the flag when done. - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration diff --git a/docs/components/sidecar.md b/docs/components/sidecar.md index d15011298f..f28cbd6267 100644 --- a/docs/components/sidecar.md +++ b/docs/components/sidecar.md @@ -75,7 +75,7 @@ usage: thanos sidecar [] Sidecar for Prometheus server. Flags: - --grpc-address="0.0.0.0:10901" + --grpc-address="0.0.0.0:10901" Listen ip:port address for gRPC endpoints (StoreAPI). Make sure this address is routable from other components. @@ -83,7 +83,7 @@ Flags: GRPC Server. --grpc-server-tls-cert="" TLS Certificate for gRPC server, leave blank to disable TLS - --grpc-server-tls-client-ca="" + --grpc-server-tls-client-ca="" TLS CA to verify clients against. If no client CA is specified, there is no client verification on server side. (tls.NoClientCert) @@ -97,7 +97,7 @@ Flags: Possible values are: "", "SHA256". -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. @@ -107,72 +107,72 @@ Flags: --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --min-time=0000-01-01T00:00:00Z + --min-time=0000-01-01T00:00:00Z Start of time range limit to serve. Thanos sidecar will serve only metrics, which happened later than this value. Option can be a constant time in RFC3339 format or time duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --prometheus.http-client= + --prometheus.http-client= Alternative to 'prometheus.http-client-file' flag (mutually exclusive). Content of YAML file or string with http client configs. see Format details : ... - --prometheus.http-client-file= + --prometheus.http-client-file= Path to YAML file or string with http client configs. see Format details : ... - --prometheus.ready_timeout=10m + --prometheus.ready_timeout=10m Maximum time to wait for the Prometheus instance to start up - --prometheus.url=http://localhost:9090 + --prometheus.url=http://localhost:9090 URL at which to reach Prometheus's API. For better performance use local network. - --reloader.config-envsubst-file="" + --reloader.config-envsubst-file="" Output file for environment variable substituted config file. --reloader.config-file="" Config file watched by the reloader. - --reloader.retry-interval=5s + --reloader.retry-interval=5s Controls how often reloader retries config reload in case of error. - --reloader.rule-dir=RELOADER.RULE-DIR ... + --reloader.rule-dir=RELOADER.RULE-DIR ... Rule directories for the reloader to refresh (repeated field). - --reloader.watch-interval=3m + --reloader.watch-interval=3m Controls how often reloader re-reads config and rules. - --request.logging-config= + --request.logging-config= Alternative to 'request.logging-config-file' flag (mutually exclusive). Content of YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --request.logging-config-file= + --request.logging-config-file= Path to YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --shipper.upload-compacted + --shipper.upload-compacted If true shipper will try to upload compacted blocks as well. Useful for migration purposes. Works only if compaction is disabled on Prometheus. Do it once and then disable the flag when done. - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration diff --git a/docs/components/store.md b/docs/components/store.md index 52ea97f31b..79fee0960a 100644 --- a/docs/components/store.md +++ b/docs/components/store.md @@ -28,10 +28,10 @@ Store node giving access to blocks in a bucket provider. Now supported GCS, S3, Azure, Swift, Tencent COS and Aliyun OSS. Flags: - --block-meta-fetch-concurrency=32 + --block-meta-fetch-concurrency=32 Number of goroutines to use when fetching block metadata from object storage. - --block-sync-concurrency=20 + --block-sync-concurrency=20 Number of goroutines to use when constructing index-cache.json blocks from object storage. Must be equal or greater than 1. @@ -49,7 +49,7 @@ Flags: NOTE: Putting raw blocks here will not cause the store to read them. For such use cases use Prometheus + sidecar. - --grpc-address="0.0.0.0:10901" + --grpc-address="0.0.0.0:10901" Listen ip:port address for gRPC endpoints (StoreAPI). Make sure this address is routable from other components. @@ -57,7 +57,7 @@ Flags: GRPC Server. --grpc-server-tls-cert="" TLS Certificate for gRPC server, leave blank to disable TLS - --grpc-server-tls-client-ca="" + --grpc-server-tls-client-ca="" TLS CA to verify clients against. If no client CA is specified, there is no client verification on server side. (tls.NoClientCert) @@ -65,14 +65,14 @@ Flags: disable TLS -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. --http.config="" [EXPERIMENTAL] Path to the configuration file that can enable TLS or authentication for all HTTP endpoints. - --ignore-deletion-marks-delay=24h + --ignore-deletion-marks-delay=24h Duration after which the blocks marked for deletion will be filtered out while fetching blocks. The idea of ignore-deletion-marks-delay @@ -96,54 +96,54 @@ Flags: --index-cache-size=250MB Maximum size of items held in the in-memory index cache. Ignored if --index-cache.config or --index-cache.config-file option is specified. - --index-cache.config= + --index-cache.config= Alternative to 'index-cache.config-file' flag (mutually exclusive). Content of YAML file that contains index cache configuration. See format details: https://thanos.io/tip/components/store.md/#index-cache - --index-cache.config-file= + --index-cache.config-file= Path to YAML file that contains index cache configuration. See format details: https://thanos.io/tip/components/store.md/#index-cache --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --max-time=9999-12-31T23:59:59Z + --max-time=9999-12-31T23:59:59Z End of time range limit to serve. Thanos Store will serve only blocks, which happened earlier than this value. Option can be a constant time in RFC3339 format or time duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y. - --min-time=0000-01-01T00:00:00Z + --min-time=0000-01-01T00:00:00Z Start of time range limit to serve. Thanos Store will serve only metrics, which happened later than this value. Option can be a constant time in RFC3339 format or time duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --request.logging-config= + --request.logging-config= Alternative to 'request.logging-config-file' flag (mutually exclusive). Content of YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --request.logging-config-file= + --request.logging-config-file= Path to YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --selector.relabel-config= + --selector.relabel-config= Alternative to 'selector.relabel-config-file' flag (mutually exclusive). Content of YAML file that contains relabeling configuration that @@ -151,19 +151,19 @@ Flags: Prometheus relabel-config syntax. See format details: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config - --selector.relabel-config-file= + --selector.relabel-config-file= Path to YAML file that contains relabeling configuration that allows selecting blocks. It follows native Prometheus relabel-config syntax. See format details: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config - --store.enable-index-header-lazy-reader + --store.enable-index-header-lazy-reader If true, Store Gateway will lazy memory map index-header only once the block is required by a query. - --store.grpc.series-max-concurrency=20 + --store.grpc.series-max-concurrency=20 Maximum number of concurrent Series calls. - --store.grpc.series-sample-limit=0 + --store.grpc.series-sample-limit=0 Maximum amount of samples returned via a single Series call. The Series call fails if this limit is exceeded. 0 means no limit. NOTE: For @@ -173,18 +173,18 @@ Flags: samples each chunk can contain), so the actual number of samples might be lower, even though the maximum could be hit. - --store.grpc.touched-series-limit=0 + --store.grpc.touched-series-limit=0 Maximum amount of touched series returned via a single Series call. The Series call fails if this limit is exceeded. 0 means no limit. --sync-block-duration=3m Repeat interval for syncing the blocks between local and remote view. - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration diff --git a/docs/components/tools.md b/docs/components/tools.md index a5d33606d6..5562344e19 100644 --- a/docs/components/tools.md +++ b/docs/components/tools.md @@ -16,12 +16,12 @@ Flags: --help-man). --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -115,21 +115,21 @@ Flags: --help-man). --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -211,7 +211,7 @@ Web interface for remote storage bucket. Flags: -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. @@ -222,7 +222,7 @@ Flags: --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --max-time=9999-12-31T23:59:59Z + --max-time=9999-12-31T23:59:59Z End of time range limit to serve. Thanos tool bucket web will serve only blocks, which happened earlier than this value. Option can be @@ -230,26 +230,26 @@ Flags: duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y. - --min-time=0000-01-01T00:00:00Z + --min-time=0000-01-01T00:00:00Z Start of time range limit to serve. Thanos tool bucket web will serve only blocks, which happened later than this value. Option can be a constant time in RFC3339 format or time duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration --refresh=30m Refresh interval to download metadata from remote storage - --selector.relabel-config= + --selector.relabel-config= Alternative to 'selector.relabel-config-file' flag (mutually exclusive). Content of YAML file that contains relabeling configuration that @@ -257,19 +257,19 @@ Flags: Prometheus relabel-config syntax. See format details: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config - --selector.relabel-config-file= + --selector.relabel-config-file= Path to YAML file that contains relabeling configuration that allows selecting blocks. It follows native Prometheus relabel-config syntax. See format details: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config --timeout=5m Timeout to download metadata from remote storage - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -341,14 +341,14 @@ Flags: --id=ID ... Block IDs to verify (and optionally repair) only. If none is specified, all blocks will be verified. Repeated field - -i, --issues=index_known_issues... ... + -i, --issues=index_known_issues... ... Issues to verify (and optionally repair). Possible issue to verify, without repair: [overlapped_blocks]; Possible issue to verify and repair: [index_known_issues duplicated_compaction] --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --objstore-backup.config= + --objstore-backup.config= Alternative to 'objstore-backup.config-file' flag (mutually exclusive). Content of YAML file that contains object store-backup configuration. See @@ -356,29 +356,29 @@ Flags: https://thanos.io/tip/thanos/storage.md/#configuration Used for repair logic to backup blocks before removal. - --objstore-backup.config-file= + --objstore-backup.config-file= Path to YAML file that contains object store-backup configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration Used for repair logic to backup blocks before removal. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration -r, --repair Attempt to repair blocks for which issues were detected - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -407,24 +407,24 @@ Flags: --help-man). --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration -o, --output="" Optional format in which to print each block's information. Options are 'json', 'wide' or a custom template. - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -453,19 +453,19 @@ Flags: --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration --output=table Output format for result. Currently supports table, cvs, tsv. - -l, --selector==\"\" ... + -l, --selector==\"\" ... Selects blocks based on label, e.g. '-l key1=\"value1\" -l key2=\"value2\"'. All key value pairs must match. @@ -474,12 +474,12 @@ Flags: UNTIL'. I.e., if the 'FROM' value is equal the rows are then further sorted by the 'UNTIL' value. --timeout=5m Timeout to download metadata from remote storage - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -510,7 +510,7 @@ Flags: be replicated. Repeated flag. -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. @@ -527,7 +527,7 @@ Flags: --log.level=info Log filtering level. --matcher=key="value" ... Only blocks whose external labels exactly match this matcher will be replicated. - --max-time=9999-12-31T23:59:59Z + --max-time=9999-12-31T23:59:59Z End of time range limit to replicate. Thanos Replicate will replicate only metrics, which happened earlier than this value. Option can be @@ -535,7 +535,7 @@ Flags: duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y. - --min-time=0000-01-01T00:00:00Z + --min-time=0000-01-01T00:00:00Z Start of time range limit to replicate. Thanos Replicate will replicate only metrics, which happened later than this value. Option can be a @@ -543,37 +543,37 @@ Flags: duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y. - --objstore-to.config= + --objstore-to.config= Alternative to 'objstore-to.config-file' flag (mutually exclusive). Content of YAML file that contains object store-to configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration The object storage which replicate data to. - --objstore-to.config-file= + --objstore-to.config-file= Path to YAML file that contains object store-to configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration The object storage which replicate data to. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration --resolution=0s... ... Only blocks with these resolutions will be replicated. Repeated flag. --single-run Run replication only one time, then exit. - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -608,7 +608,7 @@ Continuously downsamples blocks in an object store bucket. Flags: --data-dir="./data" Data directory in which to cache blocks and process downsamplings. - --downsample.concurrency=1 + --downsample.concurrency=1 Number of goroutines to use when downsampling blocks. --hash-func= Specify which hash function to use when @@ -619,7 +619,7 @@ Flags: are: "", "SHA256". -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. @@ -629,22 +629,22 @@ Flags: --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -689,21 +689,21 @@ Flags: --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. --marker=MARKER Marker to be put. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -774,13 +774,13 @@ Flags: --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration @@ -790,31 +790,31 @@ Flags: --rewrite.add-change-log If specified, all modifications are written to new block directory. Disable if latency is to high. - --rewrite.to-delete-config= + --rewrite.to-delete-config= Alternative to 'rewrite.to-delete-config-file' flag (mutually exclusive). Content of YAML file that contains []metadata.DeletionRequest that will be applied to blocks - --rewrite.to-delete-config-file= + --rewrite.to-delete-config-file= Path to YAML file that contains []metadata.DeletionRequest that will be applied to blocks - --rewrite.to-relabel-config= + --rewrite.to-relabel-config= Alternative to 'rewrite.to-relabel-config-file' flag (mutually exclusive). Content of YAML file that contains relabel configs that will be applied to blocks - --rewrite.to-relabel-config-file= + --rewrite.to-relabel-config-file= Path to YAML file that contains relabel configs that will be applied to blocks - --tmp.dir="/tmp/thanos-rewrite" + --tmp.dir="/tmp/thanos-rewrite" Working directory for temporary files - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -849,12 +849,12 @@ Flags: --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. --rules=RULES ... The rule files glob to check (repeated). - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration diff --git a/pkg/ui/react-app/README.md b/pkg/ui/react-app/README.md index a40a69fd6a..836fcbedac 100755 --- a/pkg/ui/react-app/README.md +++ b/pkg/ui/react-app/README.md @@ -22,7 +22,7 @@ To work with the React UI code, you will need to have the following tools instal The React UI depends on a large number of [npm](https://www.npmjs.com/) packages. These are not checked in, so you will need to download and install them locally via the npm package manager: - npm install + npm install npm consults the `package.json` and `package-lock.json` files for dependencies to install. It creates a `node_modules` directory with all installed dependencies. From 3b6b854d75d0c314c7db0253331639f5db4f2cc3 Mon Sep 17 00:00:00 2001 From: Wiard van Rij Date: Mon, 20 Dec 2021 23:37:08 +0100 Subject: [PATCH 04/15] formatting fix Signed-off-by: Wiard van Rij --- scripts/gotesplit.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/gotesplit.sh b/scripts/gotesplit.sh index 23d6d3a2bb..e6b8833422 100755 --- a/scripts/gotesplit.sh +++ b/scripts/gotesplit.sh @@ -354,7 +354,7 @@ PREFIX="$OWNER/$REPO" # use in logging routines log_prefix() { - echo "$PREFIX" + echo "$PREFIX" } PLATFORM="${OS}/${ARCH}" GITHUB_DOWNLOAD=https://github.com/${OWNER}/${REPO}/releases/download @@ -382,5 +382,4 @@ TARBALL_URL=${GITHUB_DOWNLOAD}/${TAG}/${TARBALL} CHECKSUM=SHA256SUMS CHECKSUM_URL=${GITHUB_DOWNLOAD}/${TAG}/${CHECKSUM} - execute From 48665f01d2a0a23fd4ae3f5d3932779e2ba1b83e Mon Sep 17 00:00:00 2001 From: Wiard van Rij Date: Mon, 20 Dec 2021 23:46:19 +0100 Subject: [PATCH 05/15] Do make the docker build... Signed-off-by: Wiard van Rij --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index ffc6539aae..7edeb4f479 100644 --- a/Makefile +++ b/Makefile @@ -279,7 +279,7 @@ test-local: .PHONY: test-e2e test-e2e: ## Runs all Thanos e2e docker-based e2e tests from test/e2e. Required access to docker daemon. -test-e2e: +test-e2e: docker @echo ">> cleaning docker environment." @docker system prune -f --volumes @echo ">> cleaning e2e test garbage." From bae4481afc9292f02e113c81a618225086d5de1d Mon Sep 17 00:00:00 2001 From: Wiard van Rij Date: Tue, 21 Dec 2021 02:53:37 +0100 Subject: [PATCH 06/15] increase parallel Signed-off-by: Wiard van Rij --- .github/workflows/go.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/go.yaml b/.github/workflows/go.yaml index e7eb7879fc..b617f93bdf 100644 --- a/.github/workflows/go.yaml +++ b/.github/workflows/go.yaml @@ -57,8 +57,8 @@ jobs: strategy: fail-fast: true matrix: - parallelism: [3] - index: [0,1,2] + parallelism: [4] + index: [0,1,2,3] runs-on: ubuntu-latest name: Thanos end-to-end tests env: From 214068e732f3aaf8cf4bee591aa8cfe7296c915e Mon Sep 17 00:00:00 2001 From: Wiard van Rij Date: Tue, 21 Dec 2021 03:16:58 +0100 Subject: [PATCH 07/15] restore only on main branch Signed-off-by: Wiard van Rij --- .github/workflows/go.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/go.yaml b/.github/workflows/go.yaml index b617f93bdf..a51b52dea7 100644 --- a/.github/workflows/go.yaml +++ b/.github/workflows/go.yaml @@ -3,6 +3,7 @@ name: go on: push: branches: + - main tags: pull_request: From f23160ba7cf3b19de2e277651c5a924c56560f82 Mon Sep 17 00:00:00 2001 From: Wiard van Rij Date: Tue, 21 Dec 2021 20:24:21 +0100 Subject: [PATCH 08/15] Use Bingo for gotesplit Signed-off-by: Wiard van Rij --- .bingo/Variables.mk | 12 +- .bingo/bingo.mod | 2 +- .bingo/gotesplit.mod | 5 + .bingo/variables.env | 4 +- Makefile | 6 +- scripts/gotesplit.sh | 385 ------------------------------------------- 6 files changed, 20 insertions(+), 394 deletions(-) create mode 100644 .bingo/gotesplit.mod delete mode 100755 scripts/gotesplit.sh diff --git a/.bingo/Variables.mk b/.bingo/Variables.mk index 690d326ef7..ef83a6b70e 100644 --- a/.bingo/Variables.mk +++ b/.bingo/Variables.mk @@ -23,11 +23,11 @@ $(ALERTMANAGER): $(BINGO_DIR)/alertmanager.mod @echo "(re)installing $(GOBIN)/alertmanager-v0.20.0" @cd $(BINGO_DIR) && $(GO) build -mod=mod -modfile=alertmanager.mod -o=$(GOBIN)/alertmanager-v0.20.0 "github.com/prometheus/alertmanager/cmd/alertmanager" -BINGO := $(GOBIN)/bingo-v0.4.3 +BINGO := $(GOBIN)/bingo-v0.5.2 $(BINGO): $(BINGO_DIR)/bingo.mod @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. - @echo "(re)installing $(GOBIN)/bingo-v0.4.3" - @cd $(BINGO_DIR) && $(GO) build -mod=mod -modfile=bingo.mod -o=$(GOBIN)/bingo-v0.4.3 "github.com/bwplotka/bingo" + @echo "(re)installing $(GOBIN)/bingo-v0.5.2" + @cd $(BINGO_DIR) && $(GO) build -mod=mod -modfile=bingo.mod -o=$(GOBIN)/bingo-v0.5.2 "github.com/bwplotka/bingo" FAILLINT := $(GOBIN)/faillint-v1.8.0 $(FAILLINT): $(BINGO_DIR)/faillint.mod @@ -59,6 +59,12 @@ $(GOLANGCI_LINT): $(BINGO_DIR)/golangci-lint.mod @echo "(re)installing $(GOBIN)/golangci-lint-v1.39.1-0.20210330125642-6844f6abf817" @cd $(BINGO_DIR) && $(GO) build -mod=mod -modfile=golangci-lint.mod -o=$(GOBIN)/golangci-lint-v1.39.1-0.20210330125642-6844f6abf817 "github.com/golangci/golangci-lint/cmd/golangci-lint" +GOTESPLIT := $(GOBIN)/gotesplit-v0.1.2 +$(GOTESPLIT): $(BINGO_DIR)/gotesplit.mod + @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. + @echo "(re)installing $(GOBIN)/gotesplit-v0.1.2" + @cd $(BINGO_DIR) && $(GO) build -mod=mod -modfile=gotesplit.mod -o=$(GOBIN)/gotesplit-v0.1.2 "github.com/Songmu/gotesplit/cmd/gotesplit" + HUGO := $(GOBIN)/hugo-v0.80.0 $(HUGO): $(BINGO_DIR)/hugo.mod @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. diff --git a/.bingo/bingo.mod b/.bingo/bingo.mod index 0ef4a501e2..a9e1e6919f 100644 --- a/.bingo/bingo.mod +++ b/.bingo/bingo.mod @@ -2,4 +2,4 @@ module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT go 1.14 -require github.com/bwplotka/bingo v0.4.3 +require github.com/bwplotka/bingo v0.5.2 diff --git a/.bingo/gotesplit.mod b/.bingo/gotesplit.mod new file mode 100644 index 0000000000..2b84d2d23f --- /dev/null +++ b/.bingo/gotesplit.mod @@ -0,0 +1,5 @@ +module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT + +go 1.17 + +require github.com/Songmu/gotesplit v0.1.2 // cmd/gotesplit diff --git a/.bingo/variables.env b/.bingo/variables.env index c6f9a9f49e..0efc1f7b3e 100644 --- a/.bingo/variables.env +++ b/.bingo/variables.env @@ -10,7 +10,7 @@ fi ALERTMANAGER="${GOBIN}/alertmanager-v0.20.0" -BINGO="${GOBIN}/bingo-v0.4.3" +BINGO="${GOBIN}/bingo-v0.5.2" FAILLINT="${GOBIN}/faillint-v1.8.0" @@ -22,6 +22,8 @@ GOJSONTOYAML="${GOBIN}/gojsontoyaml-v0.0.0-20191212081931-bf2969bbd742" GOLANGCI_LINT="${GOBIN}/golangci-lint-v1.39.1-0.20210330125642-6844f6abf817" +GOTESPLIT="${GOBIN}/gotesplit-v0.1.2" + HUGO="${GOBIN}/hugo-v0.80.0" JB="${GOBIN}/jb-v0.4.0" diff --git a/Makefile b/Makefile index 7edeb4f479..70dfd62085 100644 --- a/Makefile +++ b/Makefile @@ -279,17 +279,15 @@ test-local: .PHONY: test-e2e test-e2e: ## Runs all Thanos e2e docker-based e2e tests from test/e2e. Required access to docker daemon. -test-e2e: docker +test-e2e: @echo ">> cleaning docker environment." @docker system prune -f --volumes @echo ">> cleaning e2e test garbage." @rm -rf ./test/e2e/e2e_* - @echo ">> Getting gotesplit binary in the tmp dir." - scripts/gotesplit.sh -b /tmp/bin @echo ">> running /test/e2e tests." # NOTE(bwplotka): # * If you see errors on CI (timeouts), but not locally, try to add -parallel 1 to limit to single CPU to reproduce small 1CPU machine. - @/tmp/bin/gotesplit -total ${GH_PARALLEL} -index ${GH_INDEX} ./test/e2e/... -- ${GOTEST_OPTS} + $(GOTESPLIT) -total ${GH_PARALLEL} -index ${GH_INDEX} ./test/e2e/... -- ${GOTEST_OPTS} .PHONY: test-e2e-local test-e2e-local: ## Runs all thanos e2e tests locally. diff --git a/scripts/gotesplit.sh b/scripts/gotesplit.sh deleted file mode 100755 index e6b8833422..0000000000 --- a/scripts/gotesplit.sh +++ /dev/null @@ -1,385 +0,0 @@ -#!/bin/sh -set -e -# Code generated by godownloader on 2020-10-17T11:00:00Z. DO NOT EDIT. -# Note: This is the install script from: https://github.com/Songmu/gotesplit -# - -usage() { - this=$1 - cat </dev/null -} -echoerr() { - echo "$@" 1>&2 -} -log_prefix() { - echo "$0" -} -_logp=6 -log_set_priority() { - _logp="$1" -} -log_priority() { - if test -z "$1"; then - echo "$_logp" - return - fi - [ "$1" -le "$_logp" ] -} -log_tag() { - case $1 in - 0) echo "emerg" ;; - 1) echo "alert" ;; - 2) echo "crit" ;; - 3) echo "err" ;; - 4) echo "warning" ;; - 5) echo "notice" ;; - 6) echo "info" ;; - 7) echo "debug" ;; - *) echo "$1" ;; - esac -} -log_debug() { - log_priority 7 || return 0 - echoerr "$(log_prefix)" "$(log_tag 7)" "$@" -} -log_info() { - log_priority 6 || return 0 - echoerr "$(log_prefix)" "$(log_tag 6)" "$@" -} -log_err() { - log_priority 3 || return 0 - echoerr "$(log_prefix)" "$(log_tag 3)" "$@" -} -log_crit() { - log_priority 2 || return 0 - echoerr "$(log_prefix)" "$(log_tag 2)" "$@" -} -uname_os() { - os=$(uname -s | tr '[:upper:]' '[:lower:]') - case "$os" in - cygwin_nt*) os="windows" ;; - mingw*) os="windows" ;; - msys_nt*) os="windows" ;; - esac - echo "$os" -} -uname_arch() { - arch=$(uname -m) - case $arch in - x86_64) arch="amd64" ;; - x86) arch="386" ;; - i686) arch="386" ;; - i386) arch="386" ;; - aarch64) arch="arm64" ;; - armv5*) arch="armv5" ;; - armv6*) arch="armv6" ;; - armv7*) arch="armv7" ;; - esac - echo ${arch} -} -uname_os_check() { - os=$(uname_os) - case "$os" in - darwin) return 0 ;; - dragonfly) return 0 ;; - freebsd) return 0 ;; - linux) return 0 ;; - android) return 0 ;; - nacl) return 0 ;; - netbsd) return 0 ;; - openbsd) return 0 ;; - plan9) return 0 ;; - solaris) return 0 ;; - windows) return 0 ;; - esac - log_crit "uname_os_check '$(uname -s)' got converted to '$os' which is not a GOOS value. Please file bug at https://github.com/client9/shlib" - return 1 -} -uname_arch_check() { - arch=$(uname_arch) - case "$arch" in - 386) return 0 ;; - amd64) return 0 ;; - arm64) return 0 ;; - armv5) return 0 ;; - armv6) return 0 ;; - armv7) return 0 ;; - ppc64) return 0 ;; - ppc64le) return 0 ;; - mips) return 0 ;; - mipsle) return 0 ;; - mips64) return 0 ;; - mips64le) return 0 ;; - s390x) return 0 ;; - amd64p32) return 0 ;; - esac - log_crit "uname_arch_check '$(uname -m)' got converted to '$arch' which is not a GOARCH value. Please file bug report at https://github.com/client9/shlib" - return 1 -} -untar() { - tarball=$1 - case "${tarball}" in - *.tar.gz | *.tgz) tar --no-same-owner -xzf "${tarball}" ;; - *.tar) tar --no-same-owner -xf "${tarball}" ;; - *.zip) unzip "${tarball}" ;; - *) - log_err "untar unknown archive format for ${tarball}" - return 1 - ;; - esac -} -http_download_curl() { - local_file=$1 - source_url=$2 - header=$3 - if [ -z "$header" ]; then - code=$(curl -w '%{http_code}' -sL -o "$local_file" "$source_url") - else - code=$(curl -w '%{http_code}' -sL -H "$header" -o "$local_file" "$source_url") - fi - if [ "$code" != "200" ]; then - log_debug "http_download_curl received HTTP status $code" - return 1 - fi - return 0 -} -http_download_wget() { - local_file=$1 - source_url=$2 - header=$3 - if [ -z "$header" ]; then - wget -q -O "$local_file" "$source_url" - else - wget -q --header "$header" -O "$local_file" "$source_url" - fi -} -http_download() { - log_debug "http_download $2" - if is_command curl; then - http_download_curl "$@" - return - elif is_command wget; then - http_download_wget "$@" - return - fi - log_crit "http_download unable to find wget or curl" - return 1 -} -http_copy() { - tmp=$(mktemp) - http_download "${tmp}" "$1" "$2" || return 1 - body=$(cat "$tmp") - rm -f "${tmp}" - echo "$body" -} -github_release() { - owner_repo=$1 - version=$2 - test -z "$version" && version="latest" - giturl="https://github.com/${owner_repo}/releases/${version}" - json=$(http_copy "$giturl" "Accept:application/json") - test -z "$json" && return 1 - version=$(echo "$json" | tr -s '\n' ' ' | sed 's/.*"tag_name":"//' | sed 's/".*//') - test -z "$version" && return 1 - echo "$version" -} -hash_sha256() { - TARGET=${1:-/dev/stdin} - if is_command gsha256sum; then - hash=$(gsha256sum "$TARGET") || return 1 - echo "$hash" | cut -d ' ' -f 1 - elif is_command sha256sum; then - hash=$(sha256sum "$TARGET") || return 1 - echo "$hash" | cut -d ' ' -f 1 - elif is_command shasum; then - hash=$(shasum -a 256 "$TARGET" 2>/dev/null) || return 1 - echo "$hash" | cut -d ' ' -f 1 - elif is_command openssl; then - hash=$(openssl -dst openssl dgst -sha256 "$TARGET") || return 1 - echo "$hash" | cut -d ' ' -f a - else - log_crit "hash_sha256 unable to find command to compute sha-256 hash" - return 1 - fi -} -hash_sha256_verify() { - TARGET=$1 - checksums=$2 - if [ -z "$checksums" ]; then - log_err "hash_sha256_verify checksum file not specified in arg2" - return 1 - fi - BASENAME=${TARGET##*/} - want=$(grep "${BASENAME}" "${checksums}" 2>/dev/null | tr '\t' ' ' | cut -d ' ' -f 1) - if [ -z "$want" ]; then - log_err "hash_sha256_verify unable to find checksum for '${TARGET}' in '${checksums}'" - return 1 - fi - got=$(hash_sha256 "$TARGET") - if [ "$want" != "$got" ]; then - log_err "hash_sha256_verify checksum for '$TARGET' did not verify ${want} vs $got" - return 1 - fi -} -cat /dev/null < Date: Tue, 21 Dec 2021 20:27:33 +0100 Subject: [PATCH 09/15] revert lint Signed-off-by: Wiard van Rij --- docs/components/compact.md | 42 +++++----- docs/components/query-frontend.md | 58 +++++++------- docs/components/query.md | 46 +++++------ docs/components/receive.md | 56 +++++++------- docs/components/rule.md | 50 ++++++------ docs/components/sidecar.md | 38 +++++----- docs/components/store.md | 44 +++++------ docs/components/tools.md | 122 +++++++++++++++--------------- 8 files changed, 228 insertions(+), 228 deletions(-) diff --git a/docs/components/compact.md b/docs/components/compact.md index b9ba48a1ae..d5ffad27c4 100644 --- a/docs/components/compact.md +++ b/docs/components/compact.md @@ -274,24 +274,24 @@ usage: thanos compact [] Continuously compacts blocks in an object store bucket. Flags: - --block-meta-fetch-concurrency=32 + --block-meta-fetch-concurrency=32 Number of goroutines to use when fetching block metadata from object storage. - --block-sync-concurrency=20 + --block-sync-concurrency=20 Number of goroutines to use when syncing block metadata from object storage. - --block-viewer.global.sync-block-interval=1m + --block-viewer.global.sync-block-interval=1m Repeat interval for syncing the blocks between local and remote view for /global Block Viewer UI. - --block-viewer.global.sync-block-timeout=5m + --block-viewer.global.sync-block-timeout=5m Maximum time for syncing the blocks between local and remote view for /global Block Viewer UI. - --bucket-web-label=BUCKET-WEB-LABEL + --bucket-web-label=BUCKET-WEB-LABEL Prometheus label to use as timeline title in the bucket web UI - --compact.cleanup-interval=5m + --compact.cleanup-interval=5m How often we should clean up partially uploaded blocks and blocks with deletion mark in the background when --wait has been enabled. Setting @@ -299,7 +299,7 @@ Flags: happen at the end of an iteration. --compact.concurrency=1 Number of goroutines to use when compacting groups. - --compact.progress-interval=5m + --compact.progress-interval=5m Frequency of calculating the compaction progress in the background when --wait has been enabled. Setting it to "0s" disables it. Now compaction, @@ -320,7 +320,7 @@ Flags: algorithm will be used. At least one replica label has to be set via --deduplication.replica-label flag. - --deduplication.replica-label=DEDUPLICATION.REPLICA-LABEL ... + --deduplication.replica-label=DEDUPLICATION.REPLICA-LABEL ... Label to treat as a replica indicator of blocks that can be deduplicated (repeated flag). This will merge multiple replica blocks into one. @@ -346,7 +346,7 @@ Flags: loaded, or compactor is ignoring the deletion because it's compacting the block at the same time. - --downsample.concurrency=1 + --downsample.concurrency=1 Number of goroutines to use when downsampling blocks. --downsampling.disable Disables downsampling. This is not recommended @@ -362,7 +362,7 @@ Flags: values are: "", "SHA256". -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. @@ -372,7 +372,7 @@ Flags: --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --max-time=9999-12-31T23:59:59Z + --max-time=9999-12-31T23:59:59Z End of time range limit to compact. Thanos Compactor will compact only blocks, which happened earlier than this value. Option can be @@ -380,36 +380,36 @@ Flags: duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y. - --min-time=0000-01-01T00:00:00Z + --min-time=0000-01-01T00:00:00Z Start of time range limit to compact. Thanos Compactor will compact only blocks, which happened later than this value. Option can be a constant time in RFC3339 format or time duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --retention.resolution-1h=0d + --retention.resolution-1h=0d How long to retain samples of resolution 2 (1 hour) in bucket. Setting this to 0d will retain samples of this resolution forever - --retention.resolution-5m=0d + --retention.resolution-5m=0d How long to retain samples of resolution 1 (5 minutes) in bucket. Setting this to 0d will retain samples of this resolution forever - --retention.resolution-raw=0d + --retention.resolution-raw=0d How long to retain raw samples in bucket. Setting this to 0d will retain samples of this resolution forever - --selector.relabel-config= + --selector.relabel-config= Alternative to 'selector.relabel-config-file' flag (mutually exclusive). Content of YAML file that contains relabeling configuration that @@ -417,18 +417,18 @@ Flags: Prometheus relabel-config syntax. See format details: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config - --selector.relabel-config-file= + --selector.relabel-config-file= Path to YAML file that contains relabeling configuration that allows selecting blocks. It follows native Prometheus relabel-config syntax. See format details: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration diff --git a/docs/components/query-frontend.md b/docs/components/query-frontend.md index f11bc3c5c2..e21ff4f0d3 100644 --- a/docs/components/query-frontend.md +++ b/docs/components/query-frontend.md @@ -157,46 +157,46 @@ Query frontend command implements a service deployed in front of queriers to improve query parallelization and caching. Flags: - --cache-compression-type="" + --cache-compression-type="" Use compression in results cache. Supported values are: 'snappy' and ” (disable compression). -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. --http.config="" [EXPERIMENTAL] Path to the configuration file that can enable TLS or authentication for all HTTP endpoints. - --labels.default-time-range=24h + --labels.default-time-range=24h The default metadata time range duration for retrieving labels through Labels and Series API when the range parameters are not specified. - --labels.max-query-parallelism=14 + --labels.max-query-parallelism=14 Maximum number of labels requests will be scheduled in parallel by the Frontend. - --labels.max-retries-per-request=5 + --labels.max-retries-per-request=5 Maximum number of retries for a single label/series API request; beyond this, the downstream error is returned. --labels.partial-response Enable partial response for labels requests if no partial_response param is specified. --no-labels.partial-response for disabling. - --labels.response-cache-config= + --labels.response-cache-config= Alternative to 'labels.response-cache-config-file' flag (mutually exclusive). Content of YAML file that contains response cache configuration. - --labels.response-cache-config-file= + --labels.response-cache-config-file= Path to YAML file that contains response cache configuration. - --labels.response-cache-max-freshness=1m + --labels.response-cache-max-freshness=1m Most recent allowed cacheable result for labels requests, to prevent caching very recent results that might still be in flux. - --labels.split-interval=24h + --labels.split-interval=24h Split labels requests by an interval and execute in parallel, it should be greater than 0 when labels.response-cache-config is @@ -213,9 +213,9 @@ Flags: LogStartAndFinishCall : Logs the start and finish call of the requests. NoLogCall : Disable request logging. - --query-frontend.compress-responses + --query-frontend.compress-responses Compress HTTP responses. - --query-frontend.downstream-tripper-config= + --query-frontend.downstream-tripper-config= Alternative to 'query-frontend.downstream-tripper-config-file' flag (mutually exclusive). Content of YAML file @@ -224,20 +224,20 @@ Flags: 127.0.0.1 then it is highly recommended to increase max_idle_conns_per_host to at least 100. - --query-frontend.downstream-tripper-config-file= + --query-frontend.downstream-tripper-config-file= Path to YAML file that contains downstream tripper configuration. If your downstream URL is localhost or 127.0.0.1 then it is highly recommended to increase max_idle_conns_per_host to at least 100. - --query-frontend.downstream-url="http://localhost:9090" + --query-frontend.downstream-url="http://localhost:9090" URL of downstream Prometheus Query compatible API. - --query-frontend.log-queries-longer-than=0 + --query-frontend.log-queries-longer-than=0 Log queries that are slower than the specified duration. Set to 0 to disable. Set to < 0 to enable on all queries. - --query-frontend.org-id-header= ... + --query-frontend.org-id-header= ... Request header names used to identify the source of slow queries (repeated flag). The values of the header will be added to the org @@ -245,63 +245,63 @@ Flags: headers match the request, the first matching arg specified will take precedence. If no headers match 'anonymous' will be used. - --query-range.align-range-with-step + --query-range.align-range-with-step Mutate incoming queries to align their start and end with their step for better cache-ability. Note: Grafana dashboards do that by default. - --query-range.max-query-length=0 + --query-range.max-query-length=0 Limit the query time range (end - start time) in the query-frontend, 0 disables it. - --query-range.max-query-parallelism=14 + --query-range.max-query-parallelism=14 Maximum number of query range requests will be scheduled in parallel by the Frontend. - --query-range.max-retries-per-request=5 + --query-range.max-retries-per-request=5 Maximum number of retries for a single query range request; beyond this, the downstream error is returned. - --query-range.partial-response + --query-range.partial-response Enable partial response for query range requests if no partial_response param is specified. --no-query-range.partial-response for disabling. - --query-range.request-downsampled + --query-range.request-downsampled Make additional query for downsampled data in case of empty or incomplete response to range request. - --query-range.response-cache-config= + --query-range.response-cache-config= Alternative to 'query-range.response-cache-config-file' flag (mutually exclusive). Content of YAML file that contains response cache configuration. - --query-range.response-cache-config-file= + --query-range.response-cache-config-file= Path to YAML file that contains response cache configuration. - --query-range.response-cache-max-freshness=1m + --query-range.response-cache-max-freshness=1m Most recent allowed cacheable result for query range requests, to prevent caching very recent results that might still be in flux. - --query-range.split-interval=24h + --query-range.split-interval=24h Split query range requests by an interval and execute in parallel, it should be greater than 0 when query-range.response-cache-config is configured. - --request.logging-config= + --request.logging-config= Alternative to 'request.logging-config-file' flag (mutually exclusive). Content of YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --request.logging-config-file= + --request.logging-config-file= Path to YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration diff --git a/docs/components/query.md b/docs/components/query.md index 9c99939a7c..d178e46e94 100644 --- a/docs/components/query.md +++ b/docs/components/query.md @@ -255,7 +255,7 @@ Query node exposing PromQL enabled Query API with data retrieved from multiple store nodes. Flags: - --alert.query-url=ALERT.QUERY-URL + --alert.query-url=ALERT.QUERY-URL The external Thanos Query URL that would be set in all alerts 'Source' field. --enable-feature= ... Comma separated experimental feature names to @@ -267,16 +267,16 @@ Flags: prefixed with 'dns+' or 'dnssrv+' to detect Thanos API servers through respective DNS lookups. - --endpoint-strict= ... + --endpoint-strict= ... Addresses of only statically configured Thanos API servers that are always used, even if the health check fails. Useful if you have a caching layer on top. - --grpc-address="0.0.0.0:10901" + --grpc-address="0.0.0.0:10901" Listen ip:port address for gRPC endpoints (StoreAPI). Make sure this address is routable from other components. - --grpc-client-server-name="" + --grpc-client-server-name="" Server name to verify the hostname on the returned gRPC certificates. See https://tools.ietf.org/html/rfc4366#section-3.1 @@ -286,18 +286,18 @@ Flags: to the server --grpc-client-tls-key="" TLS Key for the client's certificate --grpc-client-tls-secure Use TLS when talking to the gRPC server - --grpc-client-tls-skip-verify + --grpc-client-tls-skip-verify Disable TLS certificate verification i.e self signed, signed by fake CA --grpc-grace-period=2m Time to wait after an interrupt received for GRPC Server. - --grpc-server-max-connection-age=60m + --grpc-server-max-connection-age=60m The grpc server max connection age. This controls how often to re-read the tls certificates and redo the TLS handshake --grpc-server-tls-cert="" TLS Certificate for gRPC server, leave blank to disable TLS - --grpc-server-tls-client-ca="" + --grpc-server-tls-client-ca="" TLS CA to verify clients against. If no client CA is specified, there is no client verification on server side. (tls.NoClientCert) @@ -305,7 +305,7 @@ Flags: disable TLS -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. @@ -327,7 +327,7 @@ Flags: --query.auto-downsampling Enable automatic adjustment (step / 5) to what source of data should be used in store gateways if no max_source_resolution param is specified. - --query.default-evaluation-interval=1m + --query.default-evaluation-interval=1m Set default evaluation interval for sub queries. --query.default-step=1s Set default step for range queries. Default @@ -337,7 +337,7 @@ Flags: max(rangeSeconds / 250, defaultStep)). This will not work from Grafana, but Grafana has __step variable which can be used. - --query.lookback-delta=QUERY.LOOKBACK-DELTA + --query.lookback-delta=QUERY.LOOKBACK-DELTA The maximum lookback duration for retrieving metrics during expression evaluations. PromQL always evaluates the query for the certain @@ -352,10 +352,10 @@ Flags: it will use the promql default of 5m. --query.max-concurrent=20 Maximum number of queries processed concurrently by query node. - --query.max-concurrent-select=4 + --query.max-concurrent-select=4 Maximum number of select requests made concurrently per a query. - --query.metadata.default-time-range=0s + --query.metadata.default-time-range=0s The default metadata time range duration for retrieving labels through Labels and Series API when the range parameters are not specified. @@ -364,24 +364,24 @@ Flags: --query.partial-response Enable partial response for queries if no partial_response param is specified. --no-query.partial-response for disabling. - --query.replica-label=QUERY.REPLICA-LABEL ... + --query.replica-label=QUERY.REPLICA-LABEL ... Labels to treat as a replica indicator along which data is deduplicated. Still you will be able to query without deduplication using 'dedup=false' parameter. Data includes time series, recording rules, and alerting rules. --query.timeout=2m Maximum time to process query by query node. - --request.logging-config= + --request.logging-config= Alternative to 'request.logging-config-file' flag (mutually exclusive). Content of YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --request.logging-config-file= + --request.logging-config-file= Path to YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --selector-label=="" ... + --selector-label=="" ... Query selector labels that will be exposed in info endpoint (repeated). --store= ... Deprecation Warning - This flag is deprecated @@ -390,35 +390,35 @@ Flags: (repeatable). The scheme may be prefixed with 'dns+' or 'dnssrv+' to detect store API servers through respective DNS lookups. - --store-strict= ... + --store-strict= ... Deprecation Warning - This flag is deprecated and replaced with `endpoint-strict`. Addresses of only statically configured store API servers that are always used, even if the health check fails. Useful if you have a caching layer on top. - --store.response-timeout=0ms + --store.response-timeout=0ms If a Store doesn't send any data in this specified duration then a Store will be ignored and partial data will be returned if it's enabled. 0 disables timeout. - --store.sd-dns-interval=30s + --store.sd-dns-interval=30s Interval between DNS resolutions. - --store.sd-files= ... + --store.sd-files= ... Path to files that contain addresses of store API servers. The path can be a glob pattern (repeatable). --store.sd-interval=5m Refresh interval to re-read file SD files. It is used as a resync fallback. - --store.unhealthy-timeout=5m + --store.unhealthy-timeout=5m Timeout before an unhealthy store is cleaned from the store UI page. - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration diff --git a/docs/components/receive.md b/docs/components/receive.md index c0fe792284..881f742d2b 100644 --- a/docs/components/receive.md +++ b/docs/components/receive.md @@ -70,19 +70,19 @@ usage: thanos receive [] Accept Prometheus remote write API requests and write to local tsdb. Flags: - --grpc-address="0.0.0.0:10901" + --grpc-address="0.0.0.0:10901" Listen ip:port address for gRPC endpoints (StoreAPI). Make sure this address is routable from other components. --grpc-grace-period=2m Time to wait after an interrupt received for GRPC Server. - --grpc-server-max-connection-age=60m + --grpc-server-max-connection-age=60m The grpc server max connection age. This controls how often to re-read the tls certificates and redo the TLS handshake --grpc-server-tls-cert="" TLS Certificate for gRPC server, leave blank to disable TLS - --grpc-server-tls-client-ca="" + --grpc-server-tls-client-ca="" TLS CA to verify clients against. If no client CA is specified, there is no client verification on server side. (tls.NoClientCert) @@ -96,7 +96,7 @@ Flags: Possible values are: "", "SHA256". -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. @@ -109,90 +109,90 @@ Flags: --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --receive.default-tenant-id="default-tenant" + --receive.default-tenant-id="default-tenant" Default tenant ID to use when none is provided via a header. - --receive.hashrings= + --receive.hashrings= Alternative to 'receive.hashrings-file' flag (lower priority). Content of file that contains the hashring configuration. - --receive.hashrings-file= + --receive.hashrings-file= Path to file that contains the hashring configuration. A watcher is initialized to watch changes and update the hashring dynamically. - --receive.hashrings-file-refresh-interval=5m + --receive.hashrings-file-refresh-interval=5m Refresh interval to re-read the hashring configuration file. (used as a fallback) - --receive.local-endpoint=RECEIVE.LOCAL-ENDPOINT + --receive.local-endpoint=RECEIVE.LOCAL-ENDPOINT Endpoint of local receive node. Used to identify the local node in the hashring configuration. - --receive.replica-header="THANOS-REPLICA" + --receive.replica-header="THANOS-REPLICA" HTTP header specifying the replica number of a write request. - --receive.replication-factor=1 + --receive.replication-factor=1 How many times to replicate incoming write requests. - --receive.tenant-header="THANOS-TENANT" + --receive.tenant-header="THANOS-TENANT" HTTP header to determine tenant for write requests. - --receive.tenant-label-name="tenant_id" + --receive.tenant-label-name="tenant_id" Label name through which the tenant will be announced. - --remote-write.address="0.0.0.0:19291" + --remote-write.address="0.0.0.0:19291" Address to listen on for remote write requests. - --remote-write.client-server-name="" + --remote-write.client-server-name="" Server name to verify the hostname on the returned TLS certificates. See https://tools.ietf.org/html/rfc4366#section-3.1 - --remote-write.client-tls-ca="" + --remote-write.client-tls-ca="" TLS CA Certificates to use to verify servers. - --remote-write.client-tls-cert="" + --remote-write.client-tls-cert="" TLS Certificates to use to identify this client to the server. - --remote-write.client-tls-key="" + --remote-write.client-tls-key="" TLS Key for the client's certificate. - --remote-write.server-tls-cert="" + --remote-write.server-tls-cert="" TLS Certificate for HTTP server, leave blank to disable TLS. - --remote-write.server-tls-client-ca="" + --remote-write.server-tls-client-ca="" TLS CA to verify clients against. If no client CA is specified, there is no client verification on server side. (tls.NoClientCert) - --remote-write.server-tls-key="" + --remote-write.server-tls-key="" TLS Key for the HTTP server, leave blank to disable TLS. - --request.logging-config= + --request.logging-config= Alternative to 'request.logging-config-file' flag (mutually exclusive). Content of YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --request.logging-config-file= + --request.logging-config-file= Path to YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tsdb.allow-overlapping-blocks + --tsdb.allow-overlapping-blocks Allow overlapping blocks, which in turn enables vertical compaction and vertical query merge. --tsdb.max-exemplars=0 Enables support for ingesting exemplars and diff --git a/docs/components/rule.md b/docs/components/rule.md index 9676d3a60a..915be28828 100644 --- a/docs/components/rule.md +++ b/docs/components/rule.md @@ -262,22 +262,22 @@ Ruler evaluating Prometheus rules against given Query nodes, exposing Store API and storing old blocks in bucket. Flags: - --alert.label-drop=ALERT.LABEL-DROP ... + --alert.label-drop=ALERT.LABEL-DROP ... Labels by name to drop before sending to alertmanager. This allows alert to be deduplicated on replica label (repeated). Similar Prometheus alert relabelling - --alert.query-url=ALERT.QUERY-URL + --alert.query-url=ALERT.QUERY-URL The external Thanos Query URL that would be set in all alerts 'Source' field - --alert.relabel-config= + --alert.relabel-config= Alternative to 'alert.relabel-config-file' flag (mutually exclusive). Content of YAML file that contains alert relabelling configuration. - --alert.relabel-config-file= + --alert.relabel-config-file= Path to YAML file that contains alert relabelling configuration. - --alertmanagers.config= + --alertmanagers.config= Alternative to 'alertmanagers.config-file' flag (mutually exclusive). Content of YAML file that contains alerting configuration. See format @@ -286,19 +286,19 @@ Flags: If defined, it takes precedence over the '--alertmanagers.url' and '--alertmanagers.send-timeout' flags. - --alertmanagers.config-file= + --alertmanagers.config-file= Path to YAML file that contains alerting configuration. See format details: https://thanos.io/tip/components/rule.md/#configuration. If defined, it takes precedence over the '--alertmanagers.url' and '--alertmanagers.send-timeout' flags. - --alertmanagers.sd-dns-interval=30s + --alertmanagers.sd-dns-interval=30s Interval between DNS resolutions of Alertmanager hosts. - --alertmanagers.send-timeout=10s + --alertmanagers.send-timeout=10s Timeout for sending alerts to Alertmanager - --alertmanagers.url=ALERTMANAGERS.URL ... + --alertmanagers.url=ALERTMANAGERS.URL ... Alertmanager replica URLs to push firing alerts. Ruler claims success if push to at least one alertmanager from discovered @@ -311,7 +311,7 @@ Flags: prefix for the regular Alertmanager API path. --data-dir="data/" data directory --eval-interval=30s The default evaluation interval to use. - --grpc-address="0.0.0.0:10901" + --grpc-address="0.0.0.0:10901" Listen ip:port address for gRPC endpoints (StoreAPI). Make sure this address is routable from other components. @@ -319,7 +319,7 @@ Flags: GRPC Server. --grpc-server-tls-cert="" TLS Certificate for gRPC server, leave blank to disable TLS - --grpc-server-tls-client-ca="" + --grpc-server-tls-client-ca="" TLS CA to verify clients against. If no client CA is specified, there is no client verification on server side. (tls.NoClientCert) @@ -333,14 +333,14 @@ Flags: Possible values are: "", "SHA256". -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. --http.config="" [EXPERIMENTAL] Path to the configuration file that can enable TLS or authentication for all HTTP endpoints. - --label=="" ... + --label=="" ... Labels to be applied to all generated metrics (repeated). Similar to external labels for Prometheus, used to identify ruler and its @@ -357,13 +357,13 @@ Flags: LogStartAndFinishCall: Logs the start and finish call of the requests. NoLogCall: Disable request logging. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration @@ -379,7 +379,7 @@ Flags: https://thanos.io/tip/components/rule.md/#configuration. If defined, it takes precedence over the '--query' and '--query.sd-files' flags. - --query.config-file= + --query.config-file= Path to YAML file that contains query API servers configuration. See format details: https://thanos.io/tip/components/rule.md/#configuration. @@ -387,15 +387,15 @@ Flags: '--query' and '--query.sd-files' flags. --query.http-method=POST HTTP method to use when sending queries. Possible options: [GET, POST] - --query.sd-dns-interval=30s + --query.sd-dns-interval=30s Interval between DNS resolutions. - --query.sd-files= ... + --query.sd-files= ... Path to file that contains addresses of query API servers. The path can be a glob pattern (repeatable). --query.sd-interval=5m Refresh interval to re-read file SD files. (used as a fallback) - --remote-write.config= + --remote-write.config= Alternative to 'remote-write.config-file' flag (mutually exclusive). Content of YAML config for the remote-write configurations, that @@ -407,7 +407,7 @@ Flags: ruler's TSDB. If an empty config (or file) is provided, the flag is ignored and ruler is run with its own TSDB. - --remote-write.config-file= + --remote-write.config-file= Path to YAML config for the remote-write configurations, that specify servers where samples should be sent to (see @@ -417,13 +417,13 @@ Flags: ruler's TSDB. If an empty config (or file) is provided, the flag is ignored and ruler is run with its own TSDB. - --request.logging-config= + --request.logging-config= Alternative to 'request.logging-config-file' flag (mutually exclusive). Content of YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --request.logging-config-file= + --request.logging-config-file= Path to YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 @@ -431,18 +431,18 @@ Flags: an alert to Alertmanager. --rule-file=rules/ ... Rule files that should be used by rule manager. Can be in glob format (repeated). - --shipper.upload-compacted + --shipper.upload-compacted If true shipper will try to upload compacted blocks as well. Useful for migration purposes. Works only if compaction is disabled on Prometheus. Do it once and then disable the flag when done. - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration diff --git a/docs/components/sidecar.md b/docs/components/sidecar.md index f28cbd6267..d15011298f 100644 --- a/docs/components/sidecar.md +++ b/docs/components/sidecar.md @@ -75,7 +75,7 @@ usage: thanos sidecar [] Sidecar for Prometheus server. Flags: - --grpc-address="0.0.0.0:10901" + --grpc-address="0.0.0.0:10901" Listen ip:port address for gRPC endpoints (StoreAPI). Make sure this address is routable from other components. @@ -83,7 +83,7 @@ Flags: GRPC Server. --grpc-server-tls-cert="" TLS Certificate for gRPC server, leave blank to disable TLS - --grpc-server-tls-client-ca="" + --grpc-server-tls-client-ca="" TLS CA to verify clients against. If no client CA is specified, there is no client verification on server side. (tls.NoClientCert) @@ -97,7 +97,7 @@ Flags: Possible values are: "", "SHA256". -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. @@ -107,72 +107,72 @@ Flags: --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --min-time=0000-01-01T00:00:00Z + --min-time=0000-01-01T00:00:00Z Start of time range limit to serve. Thanos sidecar will serve only metrics, which happened later than this value. Option can be a constant time in RFC3339 format or time duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --prometheus.http-client= + --prometheus.http-client= Alternative to 'prometheus.http-client-file' flag (mutually exclusive). Content of YAML file or string with http client configs. see Format details : ... - --prometheus.http-client-file= + --prometheus.http-client-file= Path to YAML file or string with http client configs. see Format details : ... - --prometheus.ready_timeout=10m + --prometheus.ready_timeout=10m Maximum time to wait for the Prometheus instance to start up - --prometheus.url=http://localhost:9090 + --prometheus.url=http://localhost:9090 URL at which to reach Prometheus's API. For better performance use local network. - --reloader.config-envsubst-file="" + --reloader.config-envsubst-file="" Output file for environment variable substituted config file. --reloader.config-file="" Config file watched by the reloader. - --reloader.retry-interval=5s + --reloader.retry-interval=5s Controls how often reloader retries config reload in case of error. - --reloader.rule-dir=RELOADER.RULE-DIR ... + --reloader.rule-dir=RELOADER.RULE-DIR ... Rule directories for the reloader to refresh (repeated field). - --reloader.watch-interval=3m + --reloader.watch-interval=3m Controls how often reloader re-reads config and rules. - --request.logging-config= + --request.logging-config= Alternative to 'request.logging-config-file' flag (mutually exclusive). Content of YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --request.logging-config-file= + --request.logging-config-file= Path to YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --shipper.upload-compacted + --shipper.upload-compacted If true shipper will try to upload compacted blocks as well. Useful for migration purposes. Works only if compaction is disabled on Prometheus. Do it once and then disable the flag when done. - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration diff --git a/docs/components/store.md b/docs/components/store.md index 79fee0960a..52ea97f31b 100644 --- a/docs/components/store.md +++ b/docs/components/store.md @@ -28,10 +28,10 @@ Store node giving access to blocks in a bucket provider. Now supported GCS, S3, Azure, Swift, Tencent COS and Aliyun OSS. Flags: - --block-meta-fetch-concurrency=32 + --block-meta-fetch-concurrency=32 Number of goroutines to use when fetching block metadata from object storage. - --block-sync-concurrency=20 + --block-sync-concurrency=20 Number of goroutines to use when constructing index-cache.json blocks from object storage. Must be equal or greater than 1. @@ -49,7 +49,7 @@ Flags: NOTE: Putting raw blocks here will not cause the store to read them. For such use cases use Prometheus + sidecar. - --grpc-address="0.0.0.0:10901" + --grpc-address="0.0.0.0:10901" Listen ip:port address for gRPC endpoints (StoreAPI). Make sure this address is routable from other components. @@ -57,7 +57,7 @@ Flags: GRPC Server. --grpc-server-tls-cert="" TLS Certificate for gRPC server, leave blank to disable TLS - --grpc-server-tls-client-ca="" + --grpc-server-tls-client-ca="" TLS CA to verify clients against. If no client CA is specified, there is no client verification on server side. (tls.NoClientCert) @@ -65,14 +65,14 @@ Flags: disable TLS -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. --http.config="" [EXPERIMENTAL] Path to the configuration file that can enable TLS or authentication for all HTTP endpoints. - --ignore-deletion-marks-delay=24h + --ignore-deletion-marks-delay=24h Duration after which the blocks marked for deletion will be filtered out while fetching blocks. The idea of ignore-deletion-marks-delay @@ -96,54 +96,54 @@ Flags: --index-cache-size=250MB Maximum size of items held in the in-memory index cache. Ignored if --index-cache.config or --index-cache.config-file option is specified. - --index-cache.config= + --index-cache.config= Alternative to 'index-cache.config-file' flag (mutually exclusive). Content of YAML file that contains index cache configuration. See format details: https://thanos.io/tip/components/store.md/#index-cache - --index-cache.config-file= + --index-cache.config-file= Path to YAML file that contains index cache configuration. See format details: https://thanos.io/tip/components/store.md/#index-cache --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --max-time=9999-12-31T23:59:59Z + --max-time=9999-12-31T23:59:59Z End of time range limit to serve. Thanos Store will serve only blocks, which happened earlier than this value. Option can be a constant time in RFC3339 format or time duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y. - --min-time=0000-01-01T00:00:00Z + --min-time=0000-01-01T00:00:00Z Start of time range limit to serve. Thanos Store will serve only metrics, which happened later than this value. Option can be a constant time in RFC3339 format or time duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --request.logging-config= + --request.logging-config= Alternative to 'request.logging-config-file' flag (mutually exclusive). Content of YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --request.logging-config-file= + --request.logging-config-file= Path to YAML file with request logging configuration. See format details: https://gist.github.com/yashrsharma44/02f5765c5710dd09ce5d14e854f22825 - --selector.relabel-config= + --selector.relabel-config= Alternative to 'selector.relabel-config-file' flag (mutually exclusive). Content of YAML file that contains relabeling configuration that @@ -151,19 +151,19 @@ Flags: Prometheus relabel-config syntax. See format details: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config - --selector.relabel-config-file= + --selector.relabel-config-file= Path to YAML file that contains relabeling configuration that allows selecting blocks. It follows native Prometheus relabel-config syntax. See format details: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config - --store.enable-index-header-lazy-reader + --store.enable-index-header-lazy-reader If true, Store Gateway will lazy memory map index-header only once the block is required by a query. - --store.grpc.series-max-concurrency=20 + --store.grpc.series-max-concurrency=20 Maximum number of concurrent Series calls. - --store.grpc.series-sample-limit=0 + --store.grpc.series-sample-limit=0 Maximum amount of samples returned via a single Series call. The Series call fails if this limit is exceeded. 0 means no limit. NOTE: For @@ -173,18 +173,18 @@ Flags: samples each chunk can contain), so the actual number of samples might be lower, even though the maximum could be hit. - --store.grpc.touched-series-limit=0 + --store.grpc.touched-series-limit=0 Maximum amount of touched series returned via a single Series call. The Series call fails if this limit is exceeded. 0 means no limit. --sync-block-duration=3m Repeat interval for syncing the blocks between local and remote view. - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration diff --git a/docs/components/tools.md b/docs/components/tools.md index 5562344e19..a5d33606d6 100644 --- a/docs/components/tools.md +++ b/docs/components/tools.md @@ -16,12 +16,12 @@ Flags: --help-man). --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -115,21 +115,21 @@ Flags: --help-man). --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -211,7 +211,7 @@ Web interface for remote storage bucket. Flags: -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. @@ -222,7 +222,7 @@ Flags: --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --max-time=9999-12-31T23:59:59Z + --max-time=9999-12-31T23:59:59Z End of time range limit to serve. Thanos tool bucket web will serve only blocks, which happened earlier than this value. Option can be @@ -230,26 +230,26 @@ Flags: duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y. - --min-time=0000-01-01T00:00:00Z + --min-time=0000-01-01T00:00:00Z Start of time range limit to serve. Thanos tool bucket web will serve only blocks, which happened later than this value. Option can be a constant time in RFC3339 format or time duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration --refresh=30m Refresh interval to download metadata from remote storage - --selector.relabel-config= + --selector.relabel-config= Alternative to 'selector.relabel-config-file' flag (mutually exclusive). Content of YAML file that contains relabeling configuration that @@ -257,19 +257,19 @@ Flags: Prometheus relabel-config syntax. See format details: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config - --selector.relabel-config-file= + --selector.relabel-config-file= Path to YAML file that contains relabeling configuration that allows selecting blocks. It follows native Prometheus relabel-config syntax. See format details: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config --timeout=5m Timeout to download metadata from remote storage - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -341,14 +341,14 @@ Flags: --id=ID ... Block IDs to verify (and optionally repair) only. If none is specified, all blocks will be verified. Repeated field - -i, --issues=index_known_issues... ... + -i, --issues=index_known_issues... ... Issues to verify (and optionally repair). Possible issue to verify, without repair: [overlapped_blocks]; Possible issue to verify and repair: [index_known_issues duplicated_compaction] --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --objstore-backup.config= + --objstore-backup.config= Alternative to 'objstore-backup.config-file' flag (mutually exclusive). Content of YAML file that contains object store-backup configuration. See @@ -356,29 +356,29 @@ Flags: https://thanos.io/tip/thanos/storage.md/#configuration Used for repair logic to backup blocks before removal. - --objstore-backup.config-file= + --objstore-backup.config-file= Path to YAML file that contains object store-backup configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration Used for repair logic to backup blocks before removal. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration -r, --repair Attempt to repair blocks for which issues were detected - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -407,24 +407,24 @@ Flags: --help-man). --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration -o, --output="" Optional format in which to print each block's information. Options are 'json', 'wide' or a custom template. - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -453,19 +453,19 @@ Flags: --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration --output=table Output format for result. Currently supports table, cvs, tsv. - -l, --selector==\"\" ... + -l, --selector==\"\" ... Selects blocks based on label, e.g. '-l key1=\"value1\" -l key2=\"value2\"'. All key value pairs must match. @@ -474,12 +474,12 @@ Flags: UNTIL'. I.e., if the 'FROM' value is equal the rows are then further sorted by the 'UNTIL' value. --timeout=5m Timeout to download metadata from remote storage - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -510,7 +510,7 @@ Flags: be replicated. Repeated flag. -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. @@ -527,7 +527,7 @@ Flags: --log.level=info Log filtering level. --matcher=key="value" ... Only blocks whose external labels exactly match this matcher will be replicated. - --max-time=9999-12-31T23:59:59Z + --max-time=9999-12-31T23:59:59Z End of time range limit to replicate. Thanos Replicate will replicate only metrics, which happened earlier than this value. Option can be @@ -535,7 +535,7 @@ Flags: duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y. - --min-time=0000-01-01T00:00:00Z + --min-time=0000-01-01T00:00:00Z Start of time range limit to replicate. Thanos Replicate will replicate only metrics, which happened later than this value. Option can be a @@ -543,37 +543,37 @@ Flags: duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y. - --objstore-to.config= + --objstore-to.config= Alternative to 'objstore-to.config-file' flag (mutually exclusive). Content of YAML file that contains object store-to configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration The object storage which replicate data to. - --objstore-to.config-file= + --objstore-to.config-file= Path to YAML file that contains object store-to configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration The object storage which replicate data to. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration --resolution=0s... ... Only blocks with these resolutions will be replicated. Repeated flag. --single-run Run replication only one time, then exit. - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -608,7 +608,7 @@ Continuously downsamples blocks in an object store bucket. Flags: --data-dir="./data" Data directory in which to cache blocks and process downsamplings. - --downsample.concurrency=1 + --downsample.concurrency=1 Number of goroutines to use when downsampling blocks. --hash-func= Specify which hash function to use when @@ -619,7 +619,7 @@ Flags: are: "", "SHA256". -h, --help Show context-sensitive help (also try --help-long and --help-man). - --http-address="0.0.0.0:10902" + --http-address="0.0.0.0:10902" Listen host:port for HTTP endpoints. --http-grace-period=2m Time to wait after an interrupt received for HTTP Server. @@ -629,22 +629,22 @@ Flags: --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -689,21 +689,21 @@ Flags: --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. --marker=MARKER Marker to be put. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -774,13 +774,13 @@ Flags: --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. - --objstore.config= + --objstore.config= Alternative to 'objstore.config-file' flag (mutually exclusive). Content of YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration - --objstore.config-file= + --objstore.config-file= Path to YAML file that contains object store configuration. See format details: https://thanos.io/tip/thanos/storage.md/#configuration @@ -790,31 +790,31 @@ Flags: --rewrite.add-change-log If specified, all modifications are written to new block directory. Disable if latency is to high. - --rewrite.to-delete-config= + --rewrite.to-delete-config= Alternative to 'rewrite.to-delete-config-file' flag (mutually exclusive). Content of YAML file that contains []metadata.DeletionRequest that will be applied to blocks - --rewrite.to-delete-config-file= + --rewrite.to-delete-config-file= Path to YAML file that contains []metadata.DeletionRequest that will be applied to blocks - --rewrite.to-relabel-config= + --rewrite.to-relabel-config= Alternative to 'rewrite.to-relabel-config-file' flag (mutually exclusive). Content of YAML file that contains relabel configs that will be applied to blocks - --rewrite.to-relabel-config-file= + --rewrite.to-relabel-config-file= Path to YAML file that contains relabel configs that will be applied to blocks - --tmp.dir="/tmp/thanos-rewrite" + --tmp.dir="/tmp/thanos-rewrite" Working directory for temporary files - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration @@ -849,12 +849,12 @@ Flags: --log.format=logfmt Log format to use. Possible options: logfmt or json. --log.level=info Log filtering level. --rules=RULES ... The rule files glob to check (repeated). - --tracing.config= + --tracing.config= Alternative to 'tracing.config-file' flag (mutually exclusive). Content of YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration - --tracing.config-file= + --tracing.config-file= Path to YAML file with tracing configuration. See format details: https://thanos.io/tip/thanos/tracing.md/#configuration From b4abc338bc3e092180b94edeb918da1a054633d7 Mon Sep 17 00:00:00 2001 From: Wiard van Rij Date: Tue, 21 Dec 2021 20:28:38 +0100 Subject: [PATCH 10/15] revert lint Signed-off-by: Wiard van Rij --- pkg/ui/react-app/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/ui/react-app/README.md b/pkg/ui/react-app/README.md index 836fcbedac..a40a69fd6a 100755 --- a/pkg/ui/react-app/README.md +++ b/pkg/ui/react-app/README.md @@ -22,7 +22,7 @@ To work with the React UI code, you will need to have the following tools instal The React UI depends on a large number of [npm](https://www.npmjs.com/) packages. These are not checked in, so you will need to download and install them locally via the npm package manager: - npm install + npm install npm consults the `package.json` and `package-lock.json` files for dependencies to install. It creates a `node_modules` directory with all installed dependencies. From ce2c43e4e406753b6550ef453ec3793eb9076ceb Mon Sep 17 00:00:00 2001 From: Wiard van Rij Date: Tue, 21 Dec 2021 20:29:19 +0100 Subject: [PATCH 11/15] revert lint Signed-off-by: Wiard van Rij --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a4aef55a53..71cd969c87 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -160,10 +160,10 @@ We use *breaking :warning:* to mark changes that are not backward compatible (re - [#4123](https://github.com/thanos-io/thanos/pull/4123) Query: match external labels for exemplars API. ### Changed -- +- ### Removed -- +- ## [v0.20.0](https://github.com/thanos-io/thanos/releases/tag/v0.20.0) - 2021.04.28 From 463ca6acb4a491f38b817624312a3a4b2520c67c Mon Sep 17 00:00:00 2001 From: Wiard van Rij Date: Tue, 21 Dec 2021 20:33:31 +0100 Subject: [PATCH 12/15] Adds changelog Signed-off-by: Wiard van Rij --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 71cd969c87..8edf2a4259 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,7 +12,7 @@ We use *breaking :warning:* to mark changes that are not backward compatible (re - [#4970](https://github.com/thanos-io/thanos/pull/4970) Added a new flag `exclude-delete` to `tools bucket ls`, which excludes blocks marked for deletion. ### Added - +- [#4977](https://github.com/thanos-io/thanos/pull/4977) Build: Upgrade to `bingo v0.5.2` and implements `gotesplit` to allow for parallelism in our GitHub e2e tests - [#4228](https://github.com/thanos-io/thanos/pull/4228) Tools `thanos bucket inspect`: Add flag `--output` to provide output method (table,csv,tsv). - [#4680](https://github.com/thanos-io/thanos/pull/4680) Query: add `exemplar.partial-response` flag to control partial response. - [#4679](https://github.com/thanos-io/thanos/pull/4679) Added `enable-feature` flag to enable negative offsets and @ modifier, similar to Prometheus. From 6167c3171e83118f823c2c6137701b863fbdd495 Mon Sep 17 00:00:00 2001 From: Wiard van Rij Date: Tue, 21 Dec 2021 20:48:09 +0100 Subject: [PATCH 13/15] Fix the argument and adds a note Signed-off-by: Wiard van Rij --- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 70dfd62085..448cef728f 100644 --- a/Makefile +++ b/Makefile @@ -279,15 +279,15 @@ test-local: .PHONY: test-e2e test-e2e: ## Runs all Thanos e2e docker-based e2e tests from test/e2e. Required access to docker daemon. -test-e2e: +test-e2e: docker @echo ">> cleaning docker environment." @docker system prune -f --volumes @echo ">> cleaning e2e test garbage." @rm -rf ./test/e2e/e2e_* @echo ">> running /test/e2e tests." # NOTE(bwplotka): - # * If you see errors on CI (timeouts), but not locally, try to add -parallel 1 to limit to single CPU to reproduce small 1CPU machine. - $(GOTESPLIT) -total ${GH_PARALLEL} -index ${GH_INDEX} ./test/e2e/... -- ${GOTEST_OPTS} + # * If you see errors on CI (timeouts), but not locally, try to add -parallel 1 (Wiard note: to the GOTEST_OPTS arg) to limit to single CPU to reproduce small 1CPU machine. + @$(GOTESPLIT) -total ${GH_PARALLEL} -index ${GH_INDEX} ./test/e2e/... -- ${GOTEST_OPTS} .PHONY: test-e2e-local test-e2e-local: ## Runs all thanos e2e tests locally. From ce949d57cd38bcdebdd6e7d3819ddf5edfa95052 Mon Sep 17 00:00:00 2001 From: Wiard van Rij Date: Tue, 21 Dec 2021 20:48:48 +0100 Subject: [PATCH 14/15] sigh, forgot a dot Signed-off-by: Wiard van Rij --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8edf2a4259..1036b3fda8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,7 +12,7 @@ We use *breaking :warning:* to mark changes that are not backward compatible (re - [#4970](https://github.com/thanos-io/thanos/pull/4970) Added a new flag `exclude-delete` to `tools bucket ls`, which excludes blocks marked for deletion. ### Added -- [#4977](https://github.com/thanos-io/thanos/pull/4977) Build: Upgrade to `bingo v0.5.2` and implements `gotesplit` to allow for parallelism in our GitHub e2e tests +- [#4977](https://github.com/thanos-io/thanos/pull/4977) Build: Upgrade to `bingo v0.5.2` and implements `gotesplit` to allow for parallelism in our GitHub e2e tests. - [#4228](https://github.com/thanos-io/thanos/pull/4228) Tools `thanos bucket inspect`: Add flag `--output` to provide output method (table,csv,tsv). - [#4680](https://github.com/thanos-io/thanos/pull/4680) Query: add `exemplar.partial-response` flag to control partial response. - [#4679](https://github.com/thanos-io/thanos/pull/4679) Added `enable-feature` flag to enable negative offsets and @ modifier, similar to Prometheus. From 9fdde676760b8551c0ec2f40ce50781ad268adb3 Mon Sep 17 00:00:00 2001 From: Wiard van Rij Date: Tue, 21 Dec 2021 21:21:49 +0100 Subject: [PATCH 15/15] make sure to call gotosplit so we have bin Signed-off-by: Wiard van Rij --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 448cef728f..dd6fe675b1 100644 --- a/Makefile +++ b/Makefile @@ -279,7 +279,7 @@ test-local: .PHONY: test-e2e test-e2e: ## Runs all Thanos e2e docker-based e2e tests from test/e2e. Required access to docker daemon. -test-e2e: docker +test-e2e: docker $(GOTESPLIT) @echo ">> cleaning docker environment." @docker system prune -f --volumes @echo ">> cleaning e2e test garbage."