06.1Grafana Loki简介

分类: Grafana Loki日志管理

Grafana Loki 简介

欢迎来到第 6 章的学习。在前面的章节中,我们学习了 Prometheus 和 Grafana,它们主要负责指标数据的收集和可视化。现在我们要学习 Grafana Loki,这是一个专门用于日志管理的系统。

本节将学习:Loki 是什么?它与传统日志系统有什么区别?以及它的标签索引机制是什么?

Grafana Loki 是什么

Grafana Loki 是什么? Grafana Loki 是一个聚合日志的日志系统。

Loki 有什么特点呢?

  • 水平可扩展。 Loki 可以轻松扩展。支持大规模日志。
  • 高可用。 Loki 采用高可用架构。可以保证服务的可用性。
  • 多租户。 Loki 支持多租户。不同的租户可以隔离。
  • 与 Prometheus 标签模型兼容。 Loki 使用与 Prometheus 相同的标签模型。可以关联指标和日志。
  • 成本优化。 Loki 不索引日志内容,只索引标签。这样可以大大降低存储成本。

Loki 的核心设计理念是什么?

第一个理念:不索引日志内容。 只索引标签,降低存储成本,提高写入性能。传统日志系统会索引所有内容,成本很高。

第二个理念:与 Prometheus 兼容。 使用相同的标签模型,可以关联指标和日志,统一的查询体验。这样可以更好地关联指标和日志。

第三个理念:水平可扩展。 可以轻松扩展,支持大规模日志,高可用架构。

Loki 架构: Promtail 收集应用日志,发送到 Loki,Loki 存储到对象存储,Grafana 使用 LogQL 查询日志。

这就是 Grafana Loki。一个现代化的日志系统。

与传统日志系统的区别

传统日志系统(如 ELK)有什么特点呢?

  • 索引所有日志内容。 传统系统会索引所有日志内容。包括每条日志的文本内容。
  • 全文搜索。 可以进行全文搜索。可以搜索日志中的任何内容。
  • 存储成本高。 索引所有内容,存储成本很高。特别是对于大量日志。
  • 写入性能低。 索引所有内容,写入性能会受到影响。
  • 复杂的数据模型。 传统系统使用复杂的数据模型。例如 Elasticsearch 的索引和文档。

Loki 有什么特点呢?

  • 只索引标签。 Loki 只索引标签,不索引日志内容。这样可以大大降低存储成本。
  • 标签查询 + 过滤。 先用标签查询,然后在结果中过滤。虽然不能全文搜索,但可以高效查询。
  • 存储成本低。 只索引标签,存储成本很低。
  • 写入性能高。 不索引内容,写入性能很高。
  • 简单的标签模型。 Loki 使用简单的标签模型。与 Prometheus 兼容。

对比图: 传统系统索引所有内容、全文搜索、成本高。Loki 只索引标签、标签查询、成本低。

这就是 Loki 与传统日志系统的区别。Loki 更适合大规模日志场景。

标签索引机制

Loki 的标签索引机制是什么? Loki 只索引标签,不索引日志内容。

Loki 的工作流程是什么?

第一步:日志通过标签分组。 日志通过标签分组。例如

{job="api", service="order-service", instance="server-1"}

第二步:标签组成时间序列。 标签组成时间序列。相同标签的日志组成一个流。

第三步:查询时先用标签过滤。 查询时先用标签过滤。例如

{job="api"}

第四步:然后在结果中过滤内容。 然后在结果中过滤内容。例如

|="error"

标签示例: 日志流:

{job="api", service="order-service", instance="server-1"}
。查询:
{job="api"}
先过滤标签,
|="error"
再过滤内容。这样查询效率很高。

索引架构: 日志 → 添加标签 → 标签索引 → 时间序列 → 存储。查询时:查询 → 标签过滤 → 内容过滤 → 返回结果。

标签索引的优势是什么?

  • 存储成本低。 只索引标签,不索引内容。
  • 写入性能高。 不需要索引内容,写入很快。
  • 查询高效。 先用标签过滤,缩小范围。然后再过滤内容。

这就是标签索引机制。这是 Loki 的核心优势。

本节小结

在本节中,我们学习了 Grafana Loki 简介:

第一个是 Loki 是什么。 Loki 是聚合日志的日志系统。核心特点是只索引标签,不索引日志内容。

第二个是核心特点。 不索引日志内容,只索引标签。这样可以大大降低存储成本,提高写入性能。

第三个是与传统系统区别。 成本低、性能高、简单。传统系统索引所有内容,成本高。

第四个是标签索引机制。 标签过滤 + 内容过滤。先用标签过滤,然后在结果中过滤内容。

Loki 核心优势: 成本低(只索引标签)、性能高(写入快)、简单(标签模型)、兼容(Prometheus)。这些优势让 Loki 更适合大规模日志场景。

这就是 Grafana Loki 简介。理解这些基础知识,是掌握 Loki 的关键。

在下一节,我们将学习安装 Loki 和 Promtail。学习如何在 Linux 上安装,以及使用 Docker 安装。