diff --git a/pkg/api/api.go b/pkg/api/api.go index e7ef6817a6c..0593eaa2e38 100644 --- a/pkg/api/api.go +++ b/pkg/api/api.go @@ -183,8 +183,7 @@ func (a *API) newRoute(path string, handler http.Handler, isPrefix, auth, gzip b return route } -// RegisterAlertmanager registers endpoints associated with the alertmanager. It will only -// serve endpoints using the legacy http-prefix if it is not run as a single binary. +// RegisterAlertmanager registers endpoints that are associated with the alertmanager. func (a *API) RegisterAlertmanager(am *alertmanager.MultitenantAlertmanager, apiEnabled bool, buildInfoHandler http.Handler) { alertmanagerpb.RegisterAlertmanagerServer(a.server.GRPC, am) diff --git a/pkg/api/handlers.go b/pkg/api/handlers.go index 75e593739af..1527bd42539 100644 --- a/pkg/api/handlers.go +++ b/pkg/api/handlers.go @@ -231,7 +231,7 @@ func NewQuerierHandler( router := mux.NewRouter() // Use a separate metric for the querier in order to differentiate requests from the query-frontend when - // running Mimir as a single binary. + // running Mimir in monolithic mode. instrumentMiddleware := middleware.Instrument{ RouteMatcher: router, Duration: querierRequestDuration, diff --git a/pkg/frontend/querymiddleware/results_cache.go b/pkg/frontend/querymiddleware/results_cache.go index c99f59d82cb..b38a70d5161 100644 --- a/pkg/frontend/querymiddleware/results_cache.go +++ b/pkg/frontend/querymiddleware/results_cache.go @@ -84,7 +84,7 @@ func errUnsupportedResultsCacheBackend(unsupportedBackend string) error { // newResultsCache creates a new results cache based on the input configuration. func newResultsCache(cfg ResultsCacheConfig, logger log.Logger, reg prometheus.Registerer) (cache.Cache, error) { // Add the "component" label similarly to other components, so that metrics don't clash and have the same labels set - // when running in single binary mode. + // when running in monolithic mode. reg = extprom.WrapRegistererWith(prometheus.Labels{"component": "query-frontend"}, reg) client, err := cache.CreateClient("frontend-cache", cfg.BackendConfig, logger, reg) diff --git a/pkg/mimir/modules.go b/pkg/mimir/modules.go index e0925b705c8..c60126ac2d1 100644 --- a/pkg/mimir/modules.go +++ b/pkg/mimir/modules.go @@ -402,11 +402,11 @@ func (t *Mimir) initQuerier() (serv services.Service, err error) { // and internal using the default instrumentation when running as a standalone service. internalQuerierRouter = t.Server.HTTPServer.Handler } else { - // Single binary mode requires a query frontend endpoint for the worker. If no frontend and scheduler endpoint + // Monolithic mode requires a query-frontend endpoint for the worker. If no frontend and scheduler endpoint // is configured, Mimir will default to using frontend on localhost on it's own GRPC listening port. if t.Cfg.Worker.FrontendAddress == "" && t.Cfg.Worker.SchedulerAddress == "" { address := fmt.Sprintf("127.0.0.1:%d", t.Cfg.Server.GRPCListenPort) - level.Warn(util_log.Logger).Log("msg", "Worker address is empty in single binary mode. Attempting automatic worker configuration. If queries are unresponsive consider configuring the worker explicitly.", "address", address) + level.Info(util_log.Logger).Log("msg", "The querier worker has not been configured with either the query-frontend or query-scheduler address. Because Mimir is running in monolithic mode, it's attempting an automatic worker configuration. If queries are unresponsive, consider explicitly configuring the query-frontend or query-scheduler address for querier worker.", "address", address) t.Cfg.Worker.FrontendAddress = address } @@ -548,12 +548,9 @@ func (t *Mimir) initQueryFrontend() (serv services.Service, err error) { } func (t *Mimir) initRulerStorage() (serv services.Service, err error) { - // if the ruler is not configured and we're in single binary then let's just log an error and continue. - // unfortunately there is no way to generate a "default" config and compare default against actual - // to determine if it's unconfigured. the following check, however, correctly tests this. - // Single binary integration tests will break if this ever drifts + // If the ruler is not configured and Mimir is running in monolithic mode, then we just skip starting the ruler. if t.Cfg.isModuleEnabled(All) && t.Cfg.RulerStorage.IsDefaults() { - level.Info(util_log.Logger).Log("msg", "Ruler storage is not configured in single binary mode and will not be started.") + level.Info(util_log.Logger).Log("msg", "The ruler is not being started because you need to configure the ruler storage.") return }