菜单
开源

V2.4

Loki 2.4 重点关注两项

  • 让日志更容易进入 Loki。
  • 让 Loki 更容易运行和操作。任何不使用 Kubernetes 或避免微服务的人都应该密切关注:此版本为您提供了许多功能。

特性和增强功能

总而言之,Loki 2.4 包含了大约 260 个 PR,我们感谢所有帮助我们打造出迄今为止最好的 Loki 的人。

有关所有更改的完整列表,请参阅CHANGELOG

升级注意事项

在更新 Loki 之前,请阅读升级指南

作为此版本的一部分,我们对 Loki 的配置进行了许多更改。我们已尽力确保更改与现有配置兼容,但是某些默认限制的更改可能会影响其配置文件中未显式设置这些限制值的用户。

v2.4.0 默认值更改

以下是 v2.4.0 中已更改的限制默认值列表

配置项新默认值旧默认值
ingestion_rate_strategy“global”“local”
max_global_streams_per_user50000 (无限制)
max_query_length“721h”“0h” (无限制)
max_query_parallelism3214
max_streams_per_user0 (无限制)10000
reject_old_samplestruefalse
reject_old_samples_max_age“168h”“336h”
per_stream_rate_limit3MB-
per_stream_rate_limit_burst15MB-

在未配置现有外部缓存时,我们已默认启用内存 FIFO 缓存。这有助于提高 Loki 的性能,但同时也会导致 Loki 消耗更多内存。

v2.4.2 默认值更改

以下是 v2.4.2 中已更改的限制默认值列表,已在PR 5077 中添加

配置项新默认值旧默认值
parallelise_shardable_queriestruefalse
split_queries_by_interval30m0s
query_ingesters_within3h0s
max_chunk_age2h1h
max_concurrent1020

Bug 修复

2.4.2 Bug 修复

2.4.2 修复了这些 Bug

  • PR 4968 trevorwhitney:修复了一个 Bug,该 Bug 导致查询 ingesters 错误地返回 ruler,从而引发内部服务器错误 code = Unimplemented
  • PR 4875 trevorwhitney:当 memberlist 作为一致性哈希环存储时,遵循 common 配置块中指定的复制因子。
  • PR 4792 AndreZiviani:更正了文档中以下配置选项的默认值
    • scheduler_dns_lookup_period
    • min_ready_duration
    • final_sleep
    • max_transfer_retries
    • chunk_retain_period
    • chunk_target_size
    • batch_size
    • timeout (用于 Redis 请求)

2.4.1 Bug 修复

2.4.1 修复了 2.4.0 版本中的两个 Bug

  • PR 4687 owen-d:消除了在使用非租户覆盖文件时 compactor 崩溃的问题。
  • PR 4681 slim-bean:纠正了 read target 的初始化问题。初始化不正确导致 chunk flushed 后和 querier 下载新索引表之前出现查询间隔。

2.4.0 Bug 修复

以下是 2.4.0 版本中一些更重要的修复

  • PR 4598 kavirajk:修复了 IP matcher lexer 以区分 filter 和 identifier。
  • PR 4563 cyriltovena:修复了 Series 函数无法正确处理 sharding 的 Bug。
  • PR 4518 slim-bean:修复了一个 Bug,该 Bug 导致项目不正确地返回到 sync.Pool。
  • PR 4411 slim-bean:修复了一个导致 frontend 等待永远不会到达的结果的 Bug。
  • PR 4238 liguozhong:修复了 distributor goroutine 泄漏问题。

安全修复

2.4.0 安全修复

2.4.0 版本包含一项安全相关修复

  • PR 4627 显式定义 HTTP endpoint 上允许的 HTTP 方法。

    一位社区用户注意到所有 Loki endpoint 都会响应 HTTP OPTIONS 请求,并且放置在 Loki 前面负责 HTTP 身份验证的代理会未经身份验证地将 OPTIONS 请求传递给 Loki,从而允许用户对 Loki 进行未经身份验证/未经授权的查询。此修复限制了每个 endpoint 上允许的 HTTP 方法类型,并禁止 OPTIONS 请求。