@ -186,7 +186,9 @@ Pass the `-config.expand-env` flag at the command line to enable this way of set
# shards for performance.
[compactor: <compactor>]
# The limits_config block configures global and per-tenant limits in Loki.
# The limits_config block configures global and per-tenant limits in Loki. The
# values here can be overridden in the `overrides` section of the runtime_config
# file
[limits_config: <limits_config>]
# The frontend_worker configures the worker - running within the Loki querier -
@ -208,6 +210,11 @@ Pass the `-config.expand-env` flag at the command line to enable this way of set
# configuration file.
[runtime_config: <runtime_config>]
# These are values which allow you to control aspects of Loki's operation, most
# commonly used for controlling types of higher verbosity logging, the values
# here can be overridden in the `configs` section of the `runtime_config` file.
[operational_config: <operational_config>]
# Configuration for tracing.
[tracing: <tracing>]
@ -2747,7 +2754,7 @@ retention:
### limits_config
The `limits_config` block configures global and per-tenant limits in Loki.
The `limits_config` block configures global and per-tenant limits in Loki. The values here can be overridden in the `overrides` section of the runtime_config file
```yaml
# Whether the ingestion rate limit should be applied individually to each
@ -3675,6 +3682,32 @@ Configuration for 'runtime config' module, responsible for reloading runtime con
[file: <string> | default = ""]
```
### operational_config
These are values which allow you to control aspects of Loki's operation, most commonly used for controlling types of higher verbosity logging, the values here can be overridden in the `configs` section of the `runtime_config` file.
```yaml
# Log every new stream created by a push request (very verbose, recommend to
@ -38,6 +38,12 @@ The output is incredibly verbose as it shows the entire internal config struct u
### Loki
#### Removed the `default` section of the runtime overrides config file.
This was introduced in 2.9 and likely not widely used. This only affects you if you run Loki with a runtime config file AND you had populated the new `default` block added in 2.9.
The `default` block was removed and instead a top level config now exists in the standard Loki config called `operational_config`, you can set default values here for runtime configs.
#### Removed `shared_store` and `shared_store_key_prefix` from shipper configuration
The following CLI flags and the corresponding YAML settings to configure shared store for TSDB and BoltDB shippers are now removed:
// RegisterFlags adds the flags required to config this to the given FlagSet
func(cfg*Config)RegisterFlags(f*flag.FlagSet){
f.BoolVar(&cfg.LogStreamCreation,"operation-config.log-stream-creation",false,"Log every new stream created by a push request (very verbose, recommend to enable via runtime config only).")
f.BoolVar(&cfg.LogPushRequest,"operation-config.log-push-request",false,"Log every push request (very verbose, recommend to enable via runtime config only).")
f.BoolVar(&cfg.LogPushRequestStreams,"operation-config.log-push-request-streams",false,"Log every stream in a push request (very verbose, recommend to enable via runtime config only).")
f.BoolVar(&cfg.LimitedLogPushErrors,"operation-config.limited-log-push-errors",true,"Log push errors with a rate limited logger, will show client push errors without overly spamming logs.")
}
// When we load YAML from disk, we want the various per-customer limits
// to default to any values specified on the command line, not default
// command line values. This global contains those values. I (Tom) cannot
// find a nicer way I'm afraid.
vardefaultConfig*Config
// SetDefaultLimitsForYAMLUnmarshalling sets global default limits, used when loading
// Limits from YAML files. This is used to ensure per-tenant limits are defaulted to
Desc:"The limits_config block configures global and per-tenant limits in Loki.",
Desc:"The limits_config block configures global and per-tenant limits in Loki. The values here can be overridden in the `overrides` section of the runtime_config file",
Desc:"These are values which allow you to control aspects of Loki's operation, most commonly used for controlling types of higher verbosity logging, the values here can be overridden in the `configs` section of the `runtime_config` file.",