日志探索和 grep 的差别
Loki 只索引标签、不索引日志内容,所以正确姿势是:先用标签把范围缩到最小,再在结果里过滤内容。Explore 的日志视图就是这条工作流的分段实现。
用标签浏览器拼查询
左侧 Label browser 逐级点开 app、env、cluster 等标签,点击即追加进查询,得到:
{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 tail 像 tail -f 一样持续滚动新日志,支持暂停与缓冲区上限。线上排障时「Live tail + 行过滤」组合,就是一台远程的 journalctl。
提示: Live tail 会持续占用查询额度,处理完记得停止;多个 Explorer 标签同时 tail 时尤其注意。
从日志回指标
日志查询结果的曲线区(日志量直方图)或序列上,Actions → Run metrics query 可以把当前标签转成 PromQL 跳到指标探索。双向跳转的前提是两侧标签同名同值,并在数据源设置里配好 Default metrics / logs datasource 关联。
注意: 跳转按钮置灰,多半是数据源关联没配或标签对不上;先在两侧手动执行一次查询确认数据存在。
常见坑
- 查询超时或巨慢:没带任何标签选择器,或时间范围拉太宽——Loki 不是全文搜索引擎。
|~滥用:全文正则最重,能用字面量|=就别用正则。- Detected fields 不出现:日志行本身得是 JSON / logfmt 这类可解析格式,纯文本行无从探测。
下一步
- 数据源侧的安装与配置,见Loki 日志数据源。
- 从日志行跳链路,见探索链路。
- 用日志做告警,见指标与日志告警实战。