菜单

日志模式

日志模式允许您处理相似日志行的分组。您可以隐藏冗余的日志模式,或仅关注最有用的模式。

Loki 在摄取日志时会自动提取模式。模式是瞬时的,仅从您过去三小时的日志中挖掘。

Grafana 日志下钻应用会同时显示模式及其日志量。在此视图中,您可以调查峰值,并在视图中包含或排除特定日志行。

随着日志记录的发展,模式可能会随时间变化。

模式提取

Loki 从日志行流中提取模式。

例如,如果您的服务记录了如下所示的日志行

console
duration=255ms trace_id=abc001 GET /path/to/endpoint/2
user loaded: 25666
user loaded: 14544
duration=255ms trace_id=abc002 POST /path/to/endpoint/2
user loaded: 25666
duration=355ms trace_id=abc003 GET /path/to/endpoint/1
duration=355ms trace_id=abc004 POST /path/to/endpoint/1
duration=255ms trace_id=abc005 POST /path/to/endpoint/2
user loaded: 89255
duration=4244ms trace_id=abc006 GET /path/to/endpoint/1
user loaded: 25666
duration=255ms trace_id=abc007 GET /path/to/endpoint/2

将出现两种模式,其中静态标记按原样保留,动态值转换为占位符

模式 1: duration=<_> trace_id=<_> <_> /path/to/endpoint/<_>

模式 2: user loaded: <_>

注意

自 Loki 3.0 起,您可以使用这个简化的模式匹配过滤器操作符进行查询,这比使用 regex 快得多。

模式用例

使用日志模式,您可以

  • 按类型浏览不同日志的日志量随时间变化。
  • 通过对相似日志条目进行分组来简化日志管理。
  • 通过关注相关模式来增强日志搜索。
  • 通过突出显示关键日志行来提高故障排除效率。
  • 通过最小化日志数据来减少存储需求。
  • 在探索期间过滤掉冗余的日志行。
  • 识别特定日志行以进行有针对性的分析。

模式 Tab 用户界面概述

让我们仔细看看您可以在“模式” Tab 上进行的操作。

顶部导航栏在 Grafana 界面中是通用的。下一部分在所有日志下钻页面中是通用的。

Grafana Logs Drilldown Patterns tab
模式 Tab

模式 Tab 用户界面

  • 搜索模式字段
  • > : 展开或折叠模式行,以查看包含该模式的日志行。
  • 模式图表:图表显示了模式及其日志量。
  • 包含排除按钮:允许您在日志视图中包含或排除日志模式。

此外,在展开视图中,将鼠标悬停在日志行上时会显示一个菜单

  • 显示上下文:允许您在特定日志之前和之后发生的日志上下文中查看该日志行。
  • 复制到剪贴板:将日志行复制到剪贴板。

日志模式向导

我们列出了执行一些常见用例所需的步骤。

按类型浏览日志量

Grafana 日志下钻会主动按检测到的模式可视化您的日志量数据,并以各种方式分解。您可以一目了然地立即发现峰值或其他变化。

例如,如果您的 HTTP 服务正在遭受 DDoS 攻击,相关图表将清晰显示峰值。从这里您可以下钻以发现有关攻击的足够细节来应对它。

定位您的分析目标

如果您知道要查找的日志行类型,日志模式是轻松从视图中移除不需要的日志行的一种方式。

要仅查看特定模式集,请执行以下步骤

  1. 在 Grafana 主菜单中,选择 下钻 > 日志
  2. 选择相关的服务
  3. 在服务详细信息页面上,点击模式 Tab。
  4. 识别与您想要查看的日志类型匹配的模式。
  5. 点击模式的包含按钮。
  6. 返回日志 Tab,注意视图中仅显示与您选定的模式匹配的日志行。

您可以重复步骤 4 和 5 以包含多个模式。

隐藏冗余日志行

要隐藏冗余日志行,请执行以下步骤

  1. 在 Grafana 主菜单中,选择 下钻 > 日志
  2. 选择相关的服务
  3. 在服务详细信息页面上,点击模式 Tab。
  4. 识别代表您要移除的日志中冗余信息的模式。
  5. 点击排除按钮以排除该模式。
  6. 返回日志 Tab,注意冗余模式已移除。

您可以重复步骤 4 和 5 以排除多个模式。