Grafana Labs is excited to announce the release of Loki 2.7. Here’s a summary of new enhancements and important fixes:
Features and enhancements
- 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.
fifocachehas been renamed The in-memory
fifocachehas been renamed to
embedded-cache. Check upgrade guide for more details
- 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.
- support for max stream limit
- config reload endpoint / signal
- compressed file support
lambda-promtailnow supports Kinesis data stream events
- matches for the journal reader
- basic tracing support
For a full list of all, look at the CHANGELOG.
As always, please read the upgrade guide before upgrading Loki.
- Flush buffered logger on exit: this makes sure logs are printed if Loki crashes on startup.
- Fixed different streams for
critags ending on the same stream.
- Fixed the
userdatafield (from Windows Event Log) being scraped incorrectly.
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/ringendpoint is requested with scheduler ring disabled.
- LogQL clones a specific query.
- Promtail deals with invalid calls to
- Fixed a bug in compactor that caused divide-by-zero panics when
endTimeof a delete request were equal.
- Fixed the output of the
--versioncommand that showed an incorrect version information.
- Fixed bug in validation of
regexpparsers 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-OrgIDheader like so
- Upgraded Go build version and Docker container base images to 1.19.5 to mitigate GO-2022-1144 vulnerability.
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:console
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-onlyon account of the bug (see below).
- There is a bug with the experimental deletion mode in 2.6.x and 2.7.x that in some cases can cause the wrong chunks to be deleted. As a result we have changed the default deletion mode to
filter-onlyuntil this bug has been addressed.