Loki是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,而是为每个日志流编制一组标签。项目受 Prometheus 启发,官方的介绍就是:Like Prometheus, but for logs.,类似于 Prometheus 的日志系统。 Loki项目于2018年在Grafana Labs启动,并在KubeCon Seattle宣布。Loki是根据Apache 2.0许可发行的。 Grafana Labs自豪地领导Loki项目的开发,在Lofana中建立了对Loki的一流支持,并确保Grafana Labs的客户获得所需的Loki支持和功能。 与其他日志记录系统不同,Loki是基于仅索引有关日志的元数据的想法而构建的:标签(就像Prometheus标签一样)。日志数据本身然后被压缩并存储在对象存储(例如S3或GCS)中的块中,甚至存储在文件系统中的本地。小索引和高度压缩的块简化了操作,并大大降低了Loki的成本。 与其他日志聚合系统相比,Loki具有下面的一些特性:
- 不对日志进行全文索引。Loki中存储的是压缩后的非结构化日志,并且只对元数据建立索引,因此Loki 具有操作简单、低成本的优势。
- 使用与 Prometheus 相同的标签。Loki通过标签对日志进行索引和分组,这使得日志的扩展和操作效率更高。
- 特别适合储存 Kubernetes Pod 日志。诸如 Pod 标签之类的元数据会被自动删除和编入索引。
- Grafana 原生支持。
Loki 日志系统由以下3个部分组成:
- loki是主服务器,负责存储日志和处理查询。
- promtail是专为loki定制的代理,负责收集日志并将其发送给 loki 。
- Grafana用于 UI展示。