日志模式
日志模式允许您处理相似日志行的分组。您可以隐藏噪音大的日志模式,或者只关注最有用的模式。
Loki 在日志摄取时自动提取模式。模式是临时的,仅从最近三小时的日志中挖掘。
Grafana 日志钻取应用展示了模式及其日志量。通过此视图,您可以调查峰值,并从视图中包含或排除特定的日志行。
随着日志记录的发展,模式可能会随时间变化。
模式提取
Loki 从日志流中提取模式。
例如,如果您的服务日志行如下:
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 日志钻取会主动按检测到的模式可视化您的日志量数据,并以各种方式进行分解。一眼就能立即发现峰值或其他变化。
例如,如果您的 HTTP 服务正在遭受 DDoS 攻击,相关图表将清晰地显示峰值。从这里,您可以向下钻取以发现有关攻击的足够详细信息来应对它。
定位您的分析
如果您知道要查找的日志行类型,日志模式是清除视图中不需要的日志行的简便方法。
要仅查看一组特定的模式,请执行以下步骤:
- 从 Grafana 主菜单中,选择钻取 > 日志。
- 选择相关的服务。
- 在服务详细信息页面上,单击模式选项卡。
- 识别与您感兴趣查看的日志类型匹配的模式。
- 单击该模式的包含按钮。
- 返回到日志选项卡,并注意视图仅显示与您选择的模式匹配的日志行。
您可以重复步骤 4 和 5 以包含多个模式。
隐藏噪音大的日志行
要隐藏噪音大的日志行,请执行以下步骤:
- 从 Grafana 主菜单中,选择钻取 > 日志。
- 选择相关的服务。
- 在服务详细信息页面上,单击模式选项卡。
- 识别代表您想要移除的日志中的噪音的模式。
- 单击排除按钮以排除该模式。
- 返回到日志选项卡,并注意噪音大的模式已被移除。
您可以重复步骤 4 和 5 以排除多个模式。