菜单
Enterprise 开源 RSS

日志模式

日志模式允许您处理相似日志行的分组。您可以隐藏噪音大的日志模式,或者只关注最有用的模式。

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 起,您可以使用这种简化的模式匹配过滤器运算符进行查询,这比使用正则表达式快得多。

模式用例

使用日志模式可以:

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

模式选项卡用户界面概述

让我们更仔细地看看您可以在模式选项卡上做什么。

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

Grafana Logs Drilldown Patterns tab
模式选项卡

模式选项卡用户界面

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

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

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

日志模式导览

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

按类型浏览日志量

Grafana 日志钻取会主动按检测到的模式可视化您的日志量数据,并以各种方式进行分解。一眼就能立即发现峰值或其他变化。

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

定位您的分析

如果您知道要查找的日志行类型,日志模式是清除视图中不需要的日志行的简便方法。

要仅查看一组特定的模式,请执行以下步骤:

  1. 从 Grafana 主菜单中,选择钻取 > 日志
  2. 选择相关的服务
  3. 在服务详细信息页面上,单击模式选项卡。
  4. 识别与您感兴趣查看的日志类型匹配的模式。
  5. 单击该模式的包含按钮。
  6. 返回到日志选项卡,并注意视图仅显示与您选择的模式匹配的日志行。

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

隐藏噪音大的日志行

要隐藏噪音大的日志行,请执行以下步骤:

  1. 从 Grafana 主菜单中,选择钻取 > 日志
  2. 选择相关的服务
  3. 在服务详细信息页面上,单击模式选项卡。
  4. 识别代表您想要移除的日志中的噪音的模式。
  5. 单击排除按钮以排除该模式。
  6. 返回到日志选项卡,并注意噪音大的模式已被移除。

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