Releases: grafana/loki
v2.7.4
This is release v2.7.4
of Loki, a patch release of the v2.7 minor release.
Notable changes:
- Go version upgraded to
1.20.1
- Fixed different streams for cri tags ending on the same stream.
- Fixed the userdata field (from Windows Event Log) being scraped incorrectly.
- Fixed vector() function producing wrong timestamp.
- Fixed behavior for overlapping chunks with multiple stores.
- Fixed logs results caching causing query-frontend to return logs outside of query window.
- Fixed panics when:
- /scheduler/ring endpoint is requested with scheduler ring disabled.
- LogQL clones a specific query.
- Promtail deals with invalid calls to Details().
Installation:
The components of Loki are currently distributed in plain binary form and as Docker container images. Choose what fits your use-case best.
Docker container:
$ docker pull "grafana/loki:2.7.4"
$ docker pull "grafana/promtail:2.7.4"
Binary
We provide pre-compiled binary executables for the most common operating systems and architectures.
Choose from the assets below for the application and architecture matching your system.
Example for Loki
on the linux
operating system and amd64
architecture:
$ curl -O -L "https://github.com/grafana/loki/releases/download/v2.7.4/loki-linux-amd64.zip"
# extract the binary
$ unzip "loki-linux-amd64.zip"
# make sure it is executable
$ chmod a+x "loki-linux-amd64"
v2.7.3
This is release v2.7.3
of Loki, a patch release of the v2.7
minor release.
Notable changes:
- Fixed a bug in compactor that caused divide-by-zero panics when
startTime
andendTime
of a delete request were equal. - Fixed the output of the
--version
command that showed an incorrect version information.
Installation:
The components of Loki are currently distributed in plain binary form and as Docker container images. Choose what fits your use-case best.
Docker container:
$ docker pull "grafana/loki:2.7.3"
$ docker pull "grafana/promtail:2.7.3"
Binary
We provide pre-compiled binary executables for the most common operating systems and architectures.
Choose from the assets below for the application and architecture matching your system.
Example for Loki
on the linux
operating system and amd64
architecture:
$ curl -O -L "https://github.com/grafana/loki/releases/download/v2.7.3/loki-linux-amd64.zip"
# extract the binary
$ unzip "loki-linux-amd64.zip"
# make sure it is executable
$ chmod a+x "loki-linux-amd64"
v2.7.2
This is release v2.7.2
of Loki, a patch release of the v2.7
minor release.
Notable bug fixes:
- Fixed bug in validation of
pattern
andregexp
parsers where missing or empty parameters for these parsers caused panics. - Fixed bugs in processing delete requests with line filters:
- Whole chunks covered by delete requests with a line filter were incorrectly skipped.
- Chunks partially covered by delete requests with a line filter were not properly processed.
The part that was not covered by the delete request was rewritten with a line filter, while the part that was covered by the delete request was completely deleted.
- Fixed bug in multi-tenant querying that caused HTTP 400 responses when multiple tenants where used in
X-Scope-OrgID
header like sotenant-a|tenant-b
. - Upgraded Go build version and Docker container base images to 1.19.5 to mitigate GO-2022-1144 vulnerability.
Installation:
The components of Loki are currently distributed in plain binary form and as Docker container images. Choose what fits your use-case best.
Docker container:
$ docker pull "grafana/loki:2.7.2"
$ docker pull "grafana/promtail:2.7.2"
Binary
We provide pre-compiled binary executables for the most common operating systems and architectures.
Choose from the assets below for the application and architecture matching your system.
Example for Loki
on the linux
operating system and amd64
architecture:
$ curl -O -L "https://github.com/grafana/loki/releases/download/v2.7.2/loki-linux-amd64.zip"
# extract the binary
$ unzip "loki-linux-amd64.zip"
# make sure it is executable
$ chmod a+x "loki-linux-amd64"
v2.7.1
This is release v2.7.1
of Loki.
Notable changes:
- Add single compactor http client for delete and gennumber clients. This fixes a bug caused by the accidental introduction of different HTTP clients for compactor and gennumber operations that resulted in 404s when only the gennumber middlewares were enabled: ■ Unordered list style [Expected: dash; Actua
console Grot (@grafanabot), 2022-12-09 - [release-2.7.x] Prepare changelog and release notes for 2.7.1 (#7897)
level=error ts=2022-10-18T14:13:41.598649348Z caller=delete_requests_client.go:211 msg="error getting delete requests from the store" err="unexpected status code: 404"
ts=2022-10-18T14:13:41.598697295Z caller=spanlogger.go:80 user=application level=error msg="failed loading deletes for user" err="unexpected status code: 404"
- Change default deletion mode to
filter-only
on account of the bug (see below). - Delete can now be performed over GRPC.
Installation:
The components of Loki are currently distributed in plain binary form and as Docker container images. Choose what fits your use-case best.
Docker container:
$ docker pull "grafana/loki:2.7.1"
$ docker pull "grafana/promtail:2.7.1"
Binary
We provide pre-compiled binary executables for the most common operating systems and architectures.
Choose from the assets below for the application and architecture matching your system.
Example for Loki
on the linux
operating system and amd64
architecture:
$ curl -O -L "https://github.com/grafana/loki/releases/download/v2.7.1/loki-linux-amd64.zip"
# extract the binary
$ unzip "loki-linux-amd64.zip"
# make sure it is executable
$ chmod a+x "loki-linux-amd64"
v2.7.0
🦅 Loki 2.7.0 🦅
This is release v2.7.0
of Loki.
Notable changes:
- New Internal Server and TLS TLS can now be configured everywhere and there is an internal server to allow ring, memberlist, and readiness handlers to continue to work without TLS.
- Better Support for Azure Blob Storage thanks to the ability to use Azure's Service Principal Credentials.
- Logs can now be pushed from the Loki canary so you don't have to rely on a scraping service to use the canary.
- Additional
label_format
fields__timestamp__
and__line__
. - New embedded cache which is an in-process cache system that runs loki without the need for an external cache (like memcached, redis, etc).
- New HTTP endpoint for Ingester shutdown that will also delete the ring token.
- Faster label queries thanks to new parallization.
- Introducing Stream Sharding an experimental new feature to help deal with very large streams.
- Promtail
- support for max stream limit
- config reload endpoint / signal
- compressed file support
lambda-promtail
now supports Kinesis data stream events- matches for the journal reader
- basic tracing support
Upgrade Considerations
As always, please read the upgrade guide before upgrading Loki.
Installation:
The components of Loki are currently distributed in plain binary form and as Docker container images. Choose what fits your use-case best.
Docker container:
$ docker pull "grafana/loki:2.7.0"
$ docker pull "grafana/promtail:2.7.0"
Binary
We provide pre-compiled binary executables for the most common operating systems and architectures.
Choose from the assets below for the application and architecture matching your system.
Example for Loki
on the linux
operating system and amd64
architecture:
$ curl -O -L "https://github.com/grafana/loki/releases/download/v2.7.0/loki-linux-amd64.zip"
# extract the binary
$ unzip "loki-linux-amd64.zip"
# make sure it is executable
$ chmod a+x "loki-linux-amd64"
v2.6.1
Loki 2.6.1 is a patch fix release on 2.6.0
Notable changes:
- PR 6658 JordanRushing: Updated the versions of dskit and memberlist to allow configuring cluster labels for memberlist. Cluster labels prevent mixing the members between two consistent hash rings of separate applications that are run on the same Kubernetes cluster.
- PR 6681 MasslessParticle Fixed an HTTP connection leak between the querier and the compactor when the log entry deletion feature is enabled.
- PR 6583 MasslessParticle Fixed noisy error messages when the log entry deletion feature is disabled for a tenant
Installation:
The components of Loki are currently distributed in plain binary form and as Docker container images. Choose what fits your use-case best.
Docker container:
$ docker pull "grafana/loki:2.6.1"
$ docker pull "grafana/promtail:2.6.1"
Binary
We provide pre-compiled binary executables for the most common operating systems and architectures.
Choose from the assets below for the application and architecture matching your system.
Example for Loki
on the linux
operating system and amd64
architecture:
$ curl -O -L "https://github.com/grafana/loki/releases/download/v2.6.1/loki-linux-amd64.zip"
# extract the binary
$ unzip "loki-linux-amd64.zip"
# make sure it is executable
$ chmod a+x "loki-linux-amd64"
v2.6.0
💪 Loki 2.6.0 💪
🦵:leg:
Features and enhancements
- Query multiple tenants at once. We've introduced cross-tenant query federation, which allows you to issue one query to multiple tenants and get a single, consolidated result. This is great for scenarios where you need a global view of logs within your multi-tenant cluster. For more information on how to enable this feature, see Multi-Tenancy.
- Filter out and delete certain log lines from query results. This is particularly useful in cases where users may accidentally write sensitive information to Loki that they do not want exposed. Users craft a LogQL query that selects the specific lines they're interested in, and then can choose to either filter out those lines from query results, or permanently delete them from Loki's storage. For more information, see Logs Deletion.
- Improved query performance on instant queries. Loki now splits instant queries with a large time range (for example,
sum(rate({app="foo"}[6h]))
) into several smaller sub-queries and executes them in parallel. Users don't need to take any action to enjoy this performance improvement; however, they can adjust the number of sub-queries generated by modifying thesplit_queries_by_interval
configuration parameter, which currently defaults to30m
. - Support Baidu AI Cloud as a storage backend. Loki users can now use Baidu Object Storage (BOS) as their storage backend. See bos_storage_config for details.
For a full list of all changes please look at the CHANGELOG.
Upgrade Considerations
As always, please read the upgrade guide before upgrading Loki.
Bug fixes
2.6.0 bug fixes
V2.6.0 fixes numerous bugs.
A summary of some of the more important fixes:
- PR 6152 Fixed a scenario where live tailing of logs could cause unbounded ingester memory growth.
- PR 5685 Fixed a bug in Loki's push request parser that allowed users to send arbitrary non-string data as a log line. We now test that the pushed values are valid strings and return an error if values are not valid strings.
- PR 5799 Fixed incorrect deduplication logic for cases where multiple log entries with the same timestamp exist.
- PR 5888 Fixed a bug in the common configuration where the
instance_interface_names
setting was getting overwritten by the default ring configuration.
Installation:
The components of Loki are currently distributed in plain binary form and as Docker container images. Choose what fits your use-case best.
Docker container:
$ docker pull "grafana/loki:2.6.0"
$ docker pull "grafana/promtail:2.6.0"
Binary
We provide pre-compiled binary executables for the most common operating systems and architectures.
Choose from the assets below for the application and architecture matching your system.
Example for Loki
on the linux
operating system and amd64
architecture:
$ curl -O -L "https://github.com/grafana/loki/releases/download/v2.6.0/loki-linux-amd64.zip"
# extract the binary
$ unzip "loki-linux-amd64.zip"
# make sure it is executable
$ chmod a+x "loki-linux-amd64"
v2.5.0
🦖 🧡 Loki 2.5.0 🧡 🦖
It has been nearly 6 months since Loki 2.4 was released, and we’ve been busy making Loki better than ever. Here's a summary of new enhancements and important fixes.
Features and enhancements
- Thanks to @bboreham for taking a deep dive on the Go
regexp
library, and for creating a fork which greatly improves the performance of common regex uses cases in Loki. - Binary operations are now significantly faster, taking full advantage of Loki's parallelism.
- A new schema is available, which uses more path prefixes to avoid rate limits on S3.
- That same schema change was also added to the filesystem store, which avoids using one directory to store every chunk.
- A new capability for hedging requests to storage improves performance on highly parallelized queries. Refer to the hedging configuration block for more information.
- Promtail has several new ways to ingest logs:
- Promtail permits client-side global rate limiting and pipeline-configurable rate limiting.
For a full list of all changes please look at the CHANGELOG.
Upgrade Considerations
As always, please read the upgrade guide before upgrading Loki.
Changes to the config split_queries_by_interval
The most likely impact many people will see is Loki failing to start because of a change in the YAML configuration for split_queries_by_interval
. It was previously possible to define this value in two places.
query_range:
split_queries_by_interval: 10m
and/or
limits_config:
split_queries_by_interval: 10m
In 2.5.0 it can only be defined in the limits_config
section.
Loki will fail to start if you do not remove the split_queries_by_interval
configuration parameter from the query_range
section.
Additionally, it has a new default value of 30m
rather than 0
.
The CLI flag is not changed and remains querier.split-queries-by-interval
.
More parallelism by default
We continue to move defaults in Loki to leverage parallelism in all configurations, including the single binary.
In v2.5, all queries will be split and sharded by default. This will likely result in increased memory and CPU usage for Loki processes during queries, if you didn’t previously have these values enabled.
Usage reporting
Loki 2.5 includes code we added to report anonymous usage statistics back to Grafana Labs, an issue was created to outline the intent, and what went into the final implementation can be seen here in the source.
Usage reporting helps provide anonymous information on how people use Loki and what the Loki team should focus on for features and documentation. No private information is collected, and all reports are completely anonymous.
If possible, we ask you to leave the usage reporting feature enabled and help us understand more about Loki! We are also working to figure out how we can share this info with the community so everyone can watch Loki grow.
If you would rather not participate in usage stats reporting, the feature can be disabled in config
analytics:
reporting_enabled: false
Bug fixes
2.5.0 bug fixes
V2.5.0 fixes numerous bugs. The CHANGELOG has the complete list.
A summary of some of the more important fixes:
- Query correctness:
- PR 5474 cyriltovena: Disable sharding of count/avg when labels are mutated
- PR 5444 cyriltovena: Do not insert missing point when sharding
- PR 5423 cyriltovena: Correctly sets hash value for headblock iterator
- PR 5289 cyriltovena: Fixes log deduplication when mutating Labels using LogQL
- PR 5006 sandeepsukhani: Fix splitting of queries when step is larger than split interval
- PR 5413 owen-d: A deadlock in the Azure blob client
- PR 5334 kavirajk: A fix in live tailing that could lead to exploding memory usage
- PR 5144 owen-d: A fix for the ruler when trying to use Basic Auth for remote write
- Query cancellation:
- PR 4741 sandeepsukhani: An issue where retention didn't cleanup the index completely
Installation:
The components of Loki are currently distributed in plain binary form and as Docker container images. Choose what fits your use-case best.
Docker container:
$ docker pull "grafana/loki:2.5.0"
$ docker pull "grafana/promtail:2.5.0"
Binary
We provide pre-compiled binary executables for the most common operating systems and architectures.
Choose from the assets below for the application and architecture matching your system.
Example for Loki
on the linux
operating system and amd64
architecture:
$ curl -O -L "https://github.com/grafana/loki/releases/download/v2.5.0/loki-linux-amd64.zip"
# extract the binary
$ unzip "loki-linux-amd64.zip"
# make sure it is executable
$ chmod a+x "loki-linux-amd64"
v2.4.2
Loki 2.4.2
Loki 2.4.2 is a patch fix release on 2.4.x
Defaults changes
2.4.2 makes the following changes to Loki defaults to improve usability, see PR 5077:
config | new default | old default |
---|---|---|
parallelise_shardable_queries | true | false |
split_queries_by_interval | 30m | 0s |
query_ingesters_within | 3h | 0s |
max_chunk_age | 2h | 1h |
max_concurrent | 10 | 20 |
Bug fixes
2.4.2 fixes these bugs:
- PR 4968 trevorwhitney: Fixes a bug in which querying ingesters wrongly returns a ruler,
causing the internal server errorcode = Unimplemented
. - PR 4875 trevorwhitney: Honor the replication factor specified in the common configuration block when
memberlist
is the consistent hash ring store. - PR 4792 AndreZiviani: Corrects the default values of configuration options in the documentation for:
scheduler_dns_lookup_period
min_ready_duration
final_sleep
max_transfer_retries
chunk_retain_period
chunk_target_size
batch_size
timeout
(for Redis requests)
Installation:
The components of Loki are currently distributed in plain binary form and as Docker container images. Choose what fits your use-case best.
Docker container:
$ docker pull "grafana/loki:2.4.2"
$ docker pull "grafana/promtail:2.4.2"
Binary
We provide pre-compiled binary executables for the most common operating systems and architectures.
Choose from the assets below for the application and architecture matching your system.
Example for Loki
on the linux
operating system and amd64
architecture:
$ curl -O -L "https://github.com/grafana/loki/releases/download/v2.4.2/loki-linux-amd64.zip"
# extract the binary
$ unzip "loki-linux-amd64.zip"
# make sure it is executable
$ chmod a+x "loki-linux-amd64"
v2.4.1
Loki 2.4.1
This is a patch fix release which fixes two important bugs found in the 2.4.0 release:
- PR 4687 owen-d: Fixes a compactor panic when not using a tenant overrides file.
- PR 4681 slim-bean: Fixes an incorrect initialization of the
read
target resulting in query gaps after a chunk is flushed and before the querier would download new index tables.
Installation:
The components of Loki are currently distributed in plain binary form and as Docker container images. Choose what fits your use-case best.
Docker container:
$ docker pull "grafana/loki:2.4.1"
$ docker pull "grafana/promtail:2.4.1"
Binary
We provide pre-compiled binary executables for the most common operating systems and architectures.
Choose from the assets below for the application and architecture matching your system.
Example for Loki
on the linux
operating system and amd64
architecture:
$ curl -O -L "https://github.com/grafana/loki/releases/download/v2.4.1/loki-linux-amd64.zip"
# extract the binary
$ unzip "loki-linux-amd64.zip"
# make sure it is executable
$ chmod a+x "loki-linux-amd64"