diff --git a/docs/configuration/config-file-reference.md b/docs/configuration/config-file-reference.md index 260f9a40a69..f7deb13faae 100644 --- a/docs/configuration/config-file-reference.md +++ b/docs/configuration/config-file-reference.md @@ -5145,9 +5145,10 @@ The `redis_config` configures the Redis backend cache. The `ruler_config` configures the Cortex ruler. ```yaml -# [Experimental] GRPC listen address of the Query Frontend, in host:port format. -# If set, Ruler queries to Query Frontends via gRPC. If not set, ruler queries -# to Ingesters directly. +# [Experimental] gRPC address of the Query Frontend (host:port). If set, the +# Ruler send queries to the Query Frontend to utilize splitting and caching, at +# the cost of additional network hops compared to direct querying to Ingesters +# and Store Gateway. # CLI flag: -ruler.frontend-address [frontend_address: | default = ""] diff --git a/pkg/ruler/ruler.go b/pkg/ruler/ruler.go index 7c9cf64ac74..a965b33f39d 100644 --- a/pkg/ruler/ruler.go +++ b/pkg/ruler/ruler.go @@ -231,7 +231,7 @@ func (cfg *Config) RegisterFlags(f *flag.FlagSet) { //lint:ignore faillint Need to pass the global logger like this for warning on deprecated methods flagext.DeprecatedFlag(f, "ruler.alertmanager-use-v2", "This flag is no longer functional. V1 API is deprecated and removed", util_log.Logger) - f.StringVar(&cfg.FrontendAddress, "ruler.frontend-address", "", "[Experimental] GRPC listen address of the Query Frontend, in host:port format. If set, Ruler queries to Query Frontends via gRPC. If not set, ruler queries to Ingesters directly.") + f.StringVar(&cfg.FrontendAddress, "ruler.frontend-address", "", "[Experimental] gRPC address of the Query Frontend (host:port). If set, the Ruler send queries to the Query Frontend to utilize splitting and caching, at the cost of additional network hops compared to direct querying to Ingesters and Store Gateway.") f.StringVar(&cfg.QueryResponseFormat, "ruler.query-response-format", queryResponseFormatProtobuf, fmt.Sprintf("[Experimental] Query response format to get query results from Query Frontend when the rule evaluation. It will only take effect when `-ruler.frontend-address` is configured. Supported values: %s", strings.Join(supportedQueryResponseFormats, ","))) cfg.ExternalURL.URL, _ = url.Parse("") // Must be non-nil f.Var(&cfg.ExternalURL, "ruler.external.url", "URL of alerts return path.") diff --git a/schemas/cortex-config-schema.json b/schemas/cortex-config-schema.json index 3cdc6290259..228617db42b 100644 --- a/schemas/cortex-config-schema.json +++ b/schemas/cortex-config-schema.json @@ -6587,7 +6587,7 @@ "x-format": "duration" }, "frontend_address": { - "description": "[Experimental] GRPC listen address of the Query Frontend, in host:port format. If set, Ruler queries to Query Frontends via gRPC. If not set, ruler queries to Ingesters directly.", + "description": "[Experimental] gRPC address of the Query Frontend (host:port). If set, the Ruler send queries to the Query Frontend to utilize splitting and caching, at the cost of additional network hops compared to direct querying to Ingesters and Store Gateway.", "type": "string", "x-cli-flag": "ruler.frontend-address" },