V2.5
自 Loki 2.4 发布以来已经过去了将近 6 个月,我们一直在努力让 Loki 比以往更好。以下是新增增强功能和重要修复的摘要。
功能和增强
- 感谢 @bboreham 深入研究 Go 的
regexp
库,并创建了一个分支,极大地**提高了 Loki 中常见正则表达式用例的性能。** - **二进制操作现在显著加快**,充分利用了 Loki 的并行性。
- **提供了一种新的 Schema**,它使用更多的路径前缀来避免 S3 上的速率限制。
- 同样的 Schema 更改**也已添加到文件系统存储**中,避免了使用一个目录存储所有块。
- 一项新的能力**用于对存储请求进行对冲(hedging)**,提高了高度并行化查询的性能。有关详细信息,请参阅
storage_config
块下的对冲配置。 - Promtail 有几种新的日志摄取方式
- Promtail 支持**客户端全局速率限制**和**可配置 Pipeline 的速率限制**。
有关所有更改的完整列表,请查看 CHANGELOG。
升级注意事项
一如既往,在升级 Loki 之前请阅读升级指南。
配置 split_queries_by_interval
的更改
许多人最可能遇到的影响是 Loki 启动失败,原因是 split_queries_by_interval
的 YAML 配置发生了变化。之前可以在两个地方定义此值。
query_range:
split_queries_by_interval: 10m
以及/或
limits_config:
split_queries_by_interval: 10m
在 2.5.0 版本中,它只能在 limits_config
部分中定义。
如果您未从 query_range
部分移除 split_queries_by_interval
配置参数,Loki 将无法启动。
此外,它的新默认值为 30m
,而不是 0
。
CLI 标志没有改变,仍然是 querier.split-queries-by-interval
。
默认增加并行度
我们继续调整 Loki 中的默认设置,以利用包括单体二进制文件在内的所有配置中的并行性。
在 v2.5 版本中,所有查询默认都会被拆分和分片。如果您之前没有启用这些值,这可能会导致查询期间 Loki 进程的内存和 CPU 使用量增加。
使用情况报告
Loki 2.5 包含了我们添加的代码,用于向 Grafana Labs 报告匿名使用统计信息,已创建一个 Issue 来概述其意图,最终实现的内容可以在此处查看源代码。
使用情况报告有助于提供关于人们如何使用 Loki 以及 Loki 团队应关注哪些功能和文档的匿名信息。不会收集任何私人信息,所有报告完全匿名。
如果可能,我们希望您保持使用情况报告功能开启,以帮助我们更好地了解 Loki!我们也在努力找出如何与社区分享这些信息,以便所有人都能见证 Loki 的成长。
如果您不想参与使用情况统计报告,可以在配置中禁用此功能
analytics:
reporting_enabled: false
Bug 修复
2.5.0 Bug 修复
V2.5.0 修复了许多 Bug。CHANGELOG 包含完整列表。
一些重要修复的摘要