本篇目录8 节

07数据探索Explore

探索日志

Loki 在 Explore 中的日常:标签浏览器收窄范围、Line filters 与 LogQL 管道过滤内容、格式化工具与高亮、Live tail 实时流,以及从日志一键回指标。

约 2 分钟/630 字/GRAFANA 12.X

日志探索和 grep 的差别

Loki 只索引标签、不索引日志内容,所以正确姿势是:先用标签把范围缩到最小,再在结果里过滤内容。Explore 的日志视图就是这条工作流的分段实现。

用标签浏览器拼查询

左侧 Label browser 逐级点开 appenvcluster 等标签,点击即追加进查询,得到:

{app="checkout", env="prod"}

标签旁显示的日志量数字可以先看曲线再决定点哪个值——「哪个实例在刷日志」一眼可见。编辑器同样支持 Builder 与 Code 切换,Code 模式下有标签与函数补全。

行过滤与 LogQL 管道

缩小范围之后,用管道逐行过滤内容:

{app="checkout"} |= "timeout" != "healthcheck" |~ "latency_ms=[0-9]{4}"
  • |= 包含字面量,!= 不包含,|~ / !~ 正则匹配与排除。
  • Line filters 控件可以在界面上点选添加包含 / 不包含条件,等价于手写管道,不熟 LogQL 时很好用。
  • 搜索框自带大小写、正则开关与命中高亮;Dedup lines 可折叠重复行并计数。

格式化工具

日志面板顶部提供显示切换:Default / Plain / Logfmt 等,以及 Prettify JSON——JSON 日志一键缩进高亮。查询结果里出现的 Detected fields(自动探测的字段)可以直接点选成过滤条件,相当于轻量结构化查询;该能力较新,实例版本过旧时先升级再用。

实时流(Live tail)

Live tailtail -f 一样持续滚动新日志,支持暂停与缓冲区上限。线上排障时「Live tail + 行过滤」组合,就是一台远程的 journalctl。

提示: Live tail 会持续占用查询额度,处理完记得停止;多个 Explorer 标签同时 tail 时尤其注意。

从日志回指标

日志查询结果的曲线区(日志量直方图)或序列上,Actions → Run metrics query 可以把当前标签转成 PromQL 跳到指标探索。双向跳转的前提是两侧标签同名同值,并在数据源设置里配好 Default metrics / logs datasource 关联。

注意: 跳转按钮置灰,多半是数据源关联没配或标签对不上;先在两侧手动执行一次查询确认数据存在。

常见坑

  • 查询超时或巨慢:没带任何标签选择器,或时间范围拉太宽——Loki 不是全文搜索引擎。
  • |~ 滥用:全文正则最重,能用字面量 |= 就别用正则。
  • Detected fields 不出现:日志行本身得是 JSON / logfmt 这类可解析格式,纯文本行无从探测。

下一步

本页为学习整理的中文改写,依据Grafana 官方文档最新版本编写(以 Grafana 12.x 为基准),操作路径请以实际产品界面为准。

Explore