首页/云/可观测性速查/Loki 数据源接入
Grafana 与看板53 条

Loki 数据源接入

Loki 数据源以标签选择器检索日志并附带日志量直方图;派生字段能把 trace_id 变成可点击链接,联动追踪系统做下钻。

可观测性速查云更新于 2026-10-13

Loki 数据源是什么

Loki 数据源在 Grafana 里以标签选择器检索日志,返回日志行列表与日志量直方图。它支持 LogQL 的行过滤与解析,还能用派生字段(Derived fields)把日志里的 trace_id 变成可点击链接,直接跳到 Tempo 或 Jaeger 的链路详情,实现日志与链路的互跳。

基本信息

数据源 URLhttp://loki:3100
查询语言LogQL(标签选择器 + 行过滤 + 解析)
检索入口Explore 或面板
直方图按时间的日志量分布
派生字段正则提取 + 链接到追踪系统
常用流标签app / env / namespace / level

典型使用场景

  • 按服务与环境筛选日志,定位错误与异常堆栈
  • 先用直方图看突增时段,再叠加过滤条件收窄范围
  • 解析 JSON 日志后按字段过滤(如 duration_ms > 1000)
  • 从日志里的 trace_id 一键跳到链路详情,贯通日志与追踪
  • 在面板里展示错误日志计数,做成值班看板的日志维度面板
  • 把日志查询结果与指标面板并排,故障时一处对照

配置与查询

配置与查询
# 数据源 URL:http://loki:3100

# Explore 查询:
{app="api", env="prod"} |= "timeout" | json | duration_ms > 1000

# 只统计错误日志条数(用 metric query)
sum(count_over_time({app="api"} |= "error" [5m]))

# Derived fields:用正则从日志行提取 trace 标识,
# 链接到 Tempo/Jaeger 的 trace 页面

常用操作对照

操作写法说明
流选择器{app="api", env="prod"}低基数标签缩小范围
行过滤|= "error"包含 / 排除关键字
解析| json / | logfmt把行内结构提取成字段
派生字段正则 + URL 模板生成可点击的跳转链接
计数count_over_time把日志量转成时间序列
日志量直方图能快速看出突增时段,再决定加哪个过滤条件深入,比直接翻日志行效率高得多。
派生字段的链接要带上时间范围参数,否则跳转后落在默认时间窗,上下文对不上。
Loki 的标签选择器只支持低基数的流标签:高基数字段要在解析后用过滤条件处理,不能写进选择器。
日志量很大时先做过滤再解析:先缩小流范围能显著降低查询的扫描量与服务端压力。

易错点

  • 不要把 request_id 这类高基数字段放进选择器,先用服务与环境缩小范围
  • 派生字段正则过宽会误匹配生成无效链接,先抽样验证再启用
  • 派生字段链接没带时间范围时,跳转后的链路查询与日志上下文错位
  • 日志量突增时直接把时间窗拉长会拖慢查询,应先聚合看趋势再定位具体时段
  • 解析失败的行会带 __error__ 标记,若忽略它会把「解析失败」误读成「没有匹配日志」

数据来源与参考

  • Grafana 官方文档 · Loki data source
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌