Explore 中的日志
Explore 是一个强大的日志记录和日志分析工具。它允许您调查来自不同数据源的日志,包括
通过 Explore,您可以分析日志并找出根本原因,从而高效地监控、故障排除和响应事件。它还通过并排查看日志与其他遥测信号(如指标、追踪或分析数据)来帮助您关联日志。
日志查询结果显示为独立的日志行以及一个图表,该图表显示了所选时间段的日志量。
日志量
当使用支持完整范围日志量的数据源时,Explore 会自动显示一个图表,显示所有提交的日志查询的日志分布。目前 Elasticsearch 和 Loki 数据源支持此功能。
注意
在 Loki 中,通过指标查询生成完整范围的日志量可能会消耗大量资源,具体取决于查询的时间范围。对于较小的 Loki 安装尤其如此。为了缓解此问题,我们建议您在 Loki 前面使用类似 nginx 的代理,并设置 10 秒之类的超时。日志量直方图查询可以通过查找带有 HTTP 头部
X-Query-Tags
且其值为Source=logvolhist
的查询来识别;这些头部是由 Grafana 添加到所有日志量直方图查询中的。
如果数据源不支持加载完整范围的日志量,日志模型会通过计算日志行数并根据自动计算的时间间隔将其组织到桶中来计算时间序列。第一条日志行的时间戳用于确定结果中日志量的起始位置。时间序列的结束位置则固定在时间选择器的结束范围。这样,即使数据源不提供完整范围支持,您仍然可以有效地分析和可视化日志数据。
日志
以下部分详细解释了如何在 Explore 中可视化单个日志并与其交互。
日志导航
日志导航位于日志行的右侧,您可以通过点击导航底部的较早的日志来轻松请求更多日志。当您达到行数限制并希望查看更多日志时,此功能尤其有用。从导航运行的每个请求都会在导航中显示为单独的页面。每个页面都显示了传入日志行的 from
和 to
时间戳。您可以通过点击每个页面来查看之前的结果。Explore 会缓存从日志导航运行的最后五个请求,因此当您点击页面时,不会重新运行相同的查询,从而节省时间和资源。
可视化选项
您可以自定义日志的显示方式并选择要显示的列。以下是可用选项列表。
选项 | 描述 |
---|---|
时间 | 显示或隐藏时间列。这是数据源报告的与日志行关联的时间戳。 |
唯一标签 | 显示或隐藏包含唯一非通用标签的列。所有通用标签都显示在上方。 |
换行 | 如果希望显示时使用换行,请将其设置为 true 。如果设置为 false ,将导致水平滚动。 |
美化 JSON | 将其设置为 true 以美化打印所有 JSON 日志。此设置仅影响 JSON 格式的日志。 |
去重 | 日志数据可能非常重复。Explore 使用几种不同的去重算法隐藏重复的日志行。精确匹配对整行进行匹配,但日期字段除外。数字匹配在去除持续时间、IP 地址等数字后对行进行匹配。签名匹配是最激进的去重方法,它去除所有字母和数字,并对剩余的空白和标点进行匹配。 |
显示结果顺序 | 您可以将接收到的日志顺序从默认的降序(最新在前)更改为升序(最旧在前)。 |
下载日志行
此功能允许您以方便易访问的格式保存日志数据,以进行进一步分析或与他人共享。
在 Explore 中有三种导出选项
- TXT - 将导出屏幕上可见的数据,这意味着它将考虑格式,如
line_format
。 - JSON - 将导出原始数据,无论格式如何,如
line_format
。 - CSV - 将导出原始数据,无论格式如何,如
line_format
。
点击下载并选择 TXT
、JSON
或 CSV
以下载日志结果。
日志结果元信息
以下元信息显示在检索到的日志行上方
- 接收到的日志数量 - 指示当前查询或时间范围内接收到的日志总数。
- 错误 - 显示日志结果中的任何错误。
- 通用标签 - 显示通用标签。
- 处理的总字节数 - 表示已处理的日志数据累积大小(以字节为单位)。
注意
某些元数据的可用性可能因数据源而异,因此您可能只会看到与特定数据源相关的详细信息。
转义换行符
Explore 自动检测日志行中一些不正确的转义序列,例如换行符 (\n
, \r
) 或制表符 (\t
)。当检测到此类序列时,Explore 提供一个转义换行符选项。
自动修复 Explore 检测到的不正确转义序列
- 点击转义换行符以替换序列。
- 查看返回的日志行。
Explore 会替换这些序列,将选项从转义换行符更改为移除转义。请评估更改,因为解析结果可能不基于输入而准确。要恢复替换,请点击移除转义。
日志级别
对于指定了 level
标签的日志,此标签的值用于确定日志级别并相应地更新每条日志行的颜色。如果日志没有指定的级别标签,Grafana 会尝试确定其内容是否匹配任何受支持的表达式。有关更多信息,请参阅下表。日志级别始终由第一次匹配确定。如果 Grafana 无法推断出日志级别字段,则将其可视化为未知日志级别。
提示
当使用 Loki 数据源时,如果
level
是您日志行的一部分,您可以使用解析器(如json
、logfmt
或regex
)将级别信息提取到级别标签中。此标签用于确定级别值,从而使直方图能够将各种日志级别显示为单独的条形。
支持的日志级别以及日志级别缩写和表达式的映射
日志级别 | 颜色 | 支持的表达式 |
---|---|---|
critical (致命) | 紫色 | emerg, fatal, alert, crit, critical, 0, 1, 2 |
error (错误) | 红色 | err, eror, error, 3 |
warning (警告) | 黄色 | warn, warning, 4 |
info (信息) | 绿色 | info, information, informational, notice, 5, 6 |
debug (调试) | 蓝色 | dbug, debug, 7 |
trace (追踪) | 浅蓝色 | trace (追踪) |
unknown (未知) | 灰色 | * |
高亮搜索词
当您的查询包含特定的词或表达式用于关键词搜索时,Explore 会在日志行中高亮它们,以增强可见性。此高亮功能有助于更容易地识别并关注日志中的相关内容。
注意
搜索词高亮功能因数据源而异。对于某些数据源,可能不支持搜索词高亮。
日志详细信息视图
在 Explore 中,每条日志行都有一个可展开的部分,称为日志详细信息,您可以通过点击日志行打开。日志详细信息视图以附加到日志行的字段和链接的形式提供附加信息和探索选项,从而实现更强大的交互和分析。
字段
在日志详细信息视图中,您可以通过两种方式过滤显示的字段:正向过滤器(关注特定字段)和反向过滤器(排除某些字段)。这些过滤器会修改生成日志行的相应查询,并相应地包含相等和不等表达式。
如果数据源支持,就像 Loki 和 Elasticsearch 一样,日志详细信息将验证字段是否已包含在当前查询中,表明正向过滤器处于活动状态。这使您可以根据需要从查询中关闭它,或将过滤表达式从正向转换为反向。
点击眼睛图标,选择要可视化在日志列表中的字段子集,而不是完整的日志行。
每个字段都有一个统计图标,它显示与所有显示日志相关的临时统计信息。
链接
Grafana 提供数据链接或关联,允许您将日志消息的任何部分转换为内部或外部链接。这些链接使您能够导航到相关数据或外部资源,提供一种无缝且方便的方式来探索附加信息。

日志上下文
日志上下文是一项功能,它显示与特定搜索查询匹配的日志条目周围的附加上下文行。这有助于理解日志条目的上下文,类似于 grep
命令中的 -C
参数。
如果遇到难以阅读和分析日志条目周围上下文的长文本行,请切换换行。通过启用此切换,Grafana 会自动换行长文本行以适应查看器的可见宽度,从而使日志条目更易于阅读和理解。
点击在分屏视图中打开,在 Explore 视图的分屏中执行日志条目的上下文查询。点击此按钮将打开一个新的 Explore 面板,其中上下文查询与日志条目一起显示,使分析和理解周围上下文变得更容易。
使用 Command-click 或 Ctrl+click 在新浏览器中打开日志上下文查询,以查看上下文模型。所有先前选择的过滤器都会被应用。
复制日志行
点击复制日志行,将选定日志行的内容复制到剪贴板。
复制日志行链接
在 Grafana 中链接日志行允许您快速导航到特定的日志条目以进行详细和精确的分析。点击复制短链接以生成并复制一个短链接,该短链接提供在绝对时间范围内的确切日志条目的直接访问。当您打开链接时,Grafana 会自动滚动到相应的日志行并将其高亮显示为蓝色,从而轻松识别和关注相关信息。
注意
目前,短链接功能仅在 Loki 和其他提供
id
字段的数据源中受支持。
实时追踪
使用实时追踪功能查看来自数据源的实时日志。
- 点击 Explore 工具栏中的实时切换到实时追踪视图。
- 在实时追踪视图中,新日志会显示在屏幕底部,并带有对比鲜明的背景,让您轻松跟踪新内容。
- 点击暂停以暂停实时追踪,并在不中断的情况下探索之前的日志,或者只需滚动日志视图即可。
- 点击清除日志以删除所有显示的日志。此操作将重置日志视图,并提供一个干净的起点继续您的日志分析。
- 点击恢复以恢复实时追踪,并继续查看实时日志。
- 点击停止以退出实时追踪,并返回标准 Explore 视图。
实时追踪功能允许您实时监控最新日志,从而更容易跟踪事件发生并及时检测问题。
日志样本
如果选定的数据源支持日志样本以及日志和指标查询,您将自动看到有助于指标查询可视化的日志行样本。目前此功能仅由 Loki 数据源支持。
从指标切换到日志
如果您从实现 DataSourceWithQueryExportSupport
的指标数据源(例如 Prometheus)切换到支持 DataSourceWithQueryImportSupport
的日志数据源(例如 Loki),Explore 会保留您查询中存在于日志中的标签,并使用它们来查询日志流。
例如,切换到 Loki 数据源后,Prometheus 查询 grafana_alerting_active_alerts{job="grafana"}
将变为 {job="grafana"}
。这将检索指定时间范围内的一组日志,可以使用 grep 或文本搜索进行搜索。