Skip to content

Commit 3987933

Browse files
2.4 release notes, changelog, upgrade guide (#4658) (#4671)
* update changelog, release notes, and upgrade guide for 2.4 * tweak release notes a little * make path relative for kafka config * update upgrade guide * more docs fix the cache size not applied to results cache. * fix prefix name in ring_config (cherry picked from commit 3fef08c) Co-authored-by: Ed Welch <[email protected]>
1 parent 417dba6 commit 3987933

File tree

10 files changed

+514
-102
lines changed

10 files changed

+514
-102
lines changed

CHANGELOG.md

+307-30
Large diffs are not rendered by default.

docs/sources/api/_index.md

-13
Original file line numberDiff line numberDiff line change
@@ -951,7 +951,6 @@ Displays a web page with the ruler hash ring status, including the state, health
951951

952952
### List rule groups
953953

954-
<span style="background-color:#f3f973;">This experimental endpoint is disabled by default and can be enabled via the -experimental.ruler.enable-api CLI flag or the YAML config option.</span>
955954

956955
```
957956
GET /loki/api/v1/rules
@@ -999,8 +998,6 @@ List all rules configured for the authenticated tenant. This endpoint returns a
999998
1000999
### Get rule groups by namespace
10011000
1002-
<span style="background-color:#f3f973;">This experimental endpoint is disabled by default and can be enabled via the -experimental.ruler.enable-api CLI flag or the YAML config option.</span>
1003-
10041001
```
10051002
GET /loki/api/v1/rules/{namespace}
10061003
```
@@ -1024,8 +1021,6 @@ rules:
10241021
10251022
### Get rule group
10261023
1027-
<span style="background-color:#f3f973;">This experimental endpoint is disabled by default and can be enabled via the -experimental.ruler.enable-api CLI flag or the YAML config option.</span>
1028-
10291024
```
10301025
GET /loki/api/v1/rules/{namespace}/{groupName}
10311026
```
@@ -1034,8 +1029,6 @@ Returns the rule group matching the request namespace and group name.
10341029

10351030
### Set rule group
10361031

1037-
<span style="background-color:#f3f973;">This experimental endpoint is disabled by default and can be enabled via the -experimental.ruler.enable-api CLI flag or the YAML config option.</span>
1038-
10391032
```
10401033
POST /loki/api/v1/rules/{namespace}
10411034
```
@@ -1073,8 +1066,6 @@ Deletes a rule group by namespace and group name. This endpoints returns `202` o
10731066

10741067
### Delete namespace
10751068

1076-
<span style="background-color:#f3f973;">This experimental endpoint is disabled by default and can be enabled via the -experimental.ruler.enable-api CLI flag or the YAML config option.</span>
1077-
10781069
```
10791070
DELETE /loki/api/v1/rules/{namespace}
10801071
```
@@ -1083,8 +1074,6 @@ Deletes all the rule groups in a namespace (including the namespace itself). Thi
10831074

10841075
### List rules
10851076

1086-
<span style="background-color:#f3f973;">This experimental endpoint is disabled by default and can be enabled via the -experimental.ruler.enable-api CLI flag or the YAML config option.</span>
1087-
10881077
```
10891078
GET /prometheus/api/v1/rules
10901079
```
@@ -1095,8 +1084,6 @@ For more information, refer to the [Prometheus rules](https://prometheus.io/docs
10951084

10961085
### List alerts
10971086

1098-
<span style="background-color:#f3f973;">This experimental endpoint is disabled by default and can be enabled via the -experimental.ruler.enable-api CLI flag or the YAML config option.</span>
1099-
11001087
```
11011088
GET /prometheus/api/v1/alerts
11021089
```

docs/sources/clients/promtail/scraping.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ scrape_configs:
301301
```
302302

303303
Only the `brokers` and `topics` is required.
304-
see the [configuration](https://grafana.com/docs/loki/latest/clients/promtail/configuration/#kafka) section for more information.
304+
see the [configuration](../../configuration/#kafka) section for more information.
305305

306306
## Relabeling
307307

docs/sources/configuration/_index.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -1842,8 +1842,6 @@ chunks:
18421842
The `compactor_config` block configures the compactor component. This component periodically
18431843
compacts index shards to more performant forms.
18441844

1845-
<span style="background-color:#f3f973;">Retention through the Compactor is experimental.</span>
1846-
18471845
```yaml
18481846
# Directory where files can be downloaded for compaction.
18491847
# CLI flag: -boltdb.shipper.compactor.working-directory
@@ -2364,7 +2362,7 @@ kvstore:
23642362
23652363
# The prefix for the keys in the store. Should end with a /.
23662364
# CLI flag: -<prefix>.prefix
2367-
[prefix: <string> | default = "schedulers/"]
2365+
[prefix: <string> | default = "collectors/"]
23682366
23692367
# The consul_config configures the consul client.
23702368
[consul: <consul_config>]

docs/sources/logql/ip.md

-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ weight: 40
55

66
# Matching IP addresses
77

8-
<span style="background-color:#f3f973;">Matching IP addresses is an experimental feature.</span>
9-
108
LogQL supports matching IP addresses.
119

1210
With logs such as

docs/sources/logql/log_queries.md

-2
Original file line numberDiff line numberDiff line change
@@ -389,8 +389,6 @@ will get those labels extracted:
389389

390390
#### Pattern
391391

392-
<span style="background-color:#f3f973;">The pattern parser is a beta feature.</span>
393-
394392
The pattern parser allows the explicit extraction of fields from log lines by defining a pattern expression (`| pattern "<pattern-expression>"`). The expression matches the structure of a log line.
395393

396394
Consider this NGINX log line.

docs/sources/operations/storage/retention.md

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ Retention in Grafana Loki is achieved either through the [Table Manager](#table-
88

99
Retention through the [Table Manager](../table-manager/) is achieved by relying on the object store TTL feature, and will work for both [boltdb-shipper](../boltdb-shipper) store and chunk/index store. However retention through the [Compactor](../boltdb-shipper#compactor) is supported only with the [boltdb-shipper](../boltdb-shipper) store.
1010

11-
<span style="background-color:#f3f973;">Retention through the [Compactor](#Compactor) is experimental.</span>
1211
The Compactor retention will become the default and have long term support. It supports more granular retention policies on per tenant and per stream use cases.
1312

1413
## Compactor

docs/sources/release-notes/v2-4.md

+57-3
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,70 @@ title: V2.4
44

55
# Version 2.4 release notes
66

7-
The Loki team is excited to announce the release of Loki 2.4!
7+
With Loki 2.4 we’ve focused on 2 main things:
8+
9+
1. Making it easier than ever to get your logs into Loki.
10+
2. Making it easier to run and operate, anyone not using Kubernetes or allergic to microservices should pay close attention, this release has a lot for you.
811

912
## Features and enhancements
1013

11-
* Blurb about allowing out-of-order log entries. Configured an a per-tenant basis. Refer to the configuration section's [Accept out-of-order writes](../../configuration/#accept-of-out-of-order-writes) for details.
14+
* [**Loki no longer requires logs to be sent in perfect chronological order.**](../../configuration/#accept-out-of-order-writes) Support for out of order logs is one of the most highly requested features for Loki and in 2.4 the strict ordering constraint has been removed.
15+
* Scaling Loki is now much easier with a hybrid mode between a single binary and microservices we are calling the [**Simple Scalable Deployment**](../../fundamentals/architecture/#modes-of-operation). It’s now possible to scale Loki with new `read` and `write` targets. Where previously you would have needed Kubernetes and the microservices approach to start tapping into Loki’s potential, it’s now possible to do this in a much simpler way.
16+
* We introduced a [common config section](../../configuration/#common_config) and updated and updated a lot of defaults. This results in a **70% smaller Loki config** and comes out of the box with more appropriate defaults and limits. [Check out the example local config](https://github.com/grafana/loki/blob/main/cmd/loki/loki-local-config.yaml) as the new reference for running Loki.
17+
* **[Recording rules](../../rules/#recording-rules) are no longer marked experimental** and have a much more resilient implementation which leverages the existing write ahead log code in Prometheus.
18+
* Do you use Kafka for your logs? You should check out the new [**Promtail Kafka Consumer**](../../clients/promtail/scraping/#kafka) which can easily get your logs out of Kafka and into Loki.
19+
* **LogQL has received some nice enhancements** thanks to the amazing Loki community in the form of [group_left and group_right](../../logql/#many-to-one-and-one-to-many-vector-matches) as well as the `label_format` and `line_format`functions now support [working with dates and times](../../logql/template_functions/#now)
20+
* Another great community contribution to Promtail allows it to [**accept ndjson and plaintext log files over HTTP**](../../clients/promtail/configuration/#loki_push_api).
21+
22+
All in all about 260 PR’s went into Loki 2.4 and we thank everyone for helping us make the best Loki yet.
23+
24+
For a full list of all changes please look at the [CHANGELOG](https://github.com/grafana/loki/blob/main/CHANGELOG.md#240-20211105)
25+
26+
## Upgrade Considerations
27+
28+
Please read the [upgrade guide](../../upgrading/#240) before updating Loki.
29+
30+
We made a lot of changes to Loki’s configuration as part of this release, we have tried our best to make sure changes are compatible with existing configurations however some changes to default limits may impact users who didn't have values explicitly set for these limits in their config files.
31+
32+
Here is a list of limits changed:
33+
34+
| config | new default | old default |
35+
| --- | --- | --- |
36+
| ingestion_rate_strategy | "global" | "local" |
37+
| max_global_streams_per_user | 5000 | 0 (no limit) |
38+
| max_query_length | "721h" | "0h" (no limit) |
39+
| max_query_parallelism | 32 | 14 |
40+
| max_streams_per_user | 0 (no limit) | 10000 |
41+
| reject_old_samples | true | false |
42+
| reject_old_samples_max_age | "168h" | "336h" |
43+
| per_stream_rate_limit | 3MB | - |
44+
| per_stream_rate_limit_burst | 15MB | - |
45+
46+
Also we have enabled the [in-memory FIFO cache by default](https://github.com/grafana/loki/pull/4519) when no existing external cache is configured. This helps improve Loki's performance however it will also allow Loki to consume more memory.
1247

1348
## Bug fixes
1449

1550
Lists of bug fixes for 2.4.x.
1651

1752
### 2.4.0 bug fixes
1853

19-
* Bug fix here.
54+
Here is a list of some of the more important fixes in 2.4.0:
55+
56+
* [4598](https://github.com/grafana/loki/pull/4598) **kavirajk**: Fix `ip` matcher lexer to differentiate filter from identifier
57+
* [4563](https://github.com/grafana/loki/pull/4563) **cyriltovena**: Fixes the Series function to handle properly sharding.
58+
* [4518](https://github.com/grafana/loki/pull/4518) **slim-bean**: Loki: Fix bug where items are returned to a sync.Pool incorrectly
59+
* [4411](https://github.com/grafana/loki/pull/4411) **slim-bean**: Loki: Bug: frontend waiting on results which would never come
60+
* [4238](https://github.com/grafana/loki/pull/4238) **liguozhong**: [fix] distributor: fix goroutine leak
61+
62+
## Security fixes
63+
64+
List of security fixes for 2.4.x
65+
66+
### 2.4.0 security fixes
67+
68+
2.4.0 contains one fix which is security related
69+
70+
[4627](https://github.com/grafana/loki/pull/4627) Loki: Explicitly define allowed HTTP methods on HTTP endpoints
71+
72+
A community user noticed that all Loki endpoints would respond to HTTP OPTIONS requests, and the proxy they placed in front of Loki responsible for HTTP authentication would pass OPTIONS requests unauthenticated to Loki allowing users to make unauthenticated/unauthorized queries to Loki. This PR restricts the type of HTTP methods allowed on each endpoint and disallows OPTIONS requests.
73+

0 commit comments

Comments
 (0)