首页/云/可观测性速查/LogQL 流选择器基础
日志平台52 条

LogQL 流选择器基础

查询从流选择器开始:用标签匹配定位数据流,=、!=、=~、!~ 四种匹配;选择器至少要有一个非空匹配条件。

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

流选择器的作用

日志查询从流选择器开始:先用标签匹配定位要扫描的数据流,再逐步叠加过滤条件。选择器写在最前面,决定这次查询要读取哪些数据;选择器越精确,扫描的数据量与响应时间就越小。

匹配语义

匹配运算符与指标查询一致:等号与不等号做精确匹配,带波浪号的做正则匹配且为全串匹配。查询至少要有一个非空的匹配条件,否则会被直接拒绝,这是为了避免无标签的全量扫描拖垮后端。

基本信息

四种匹配等于、不等于、正则匹配、正则不匹配
空值匹配用正则要求至少一个字符,以匹配已设置标签的流
前缀匹配正则前缀明确时扫描更高效
组合方式多个标签条件用逗号分隔,需同时满足

典型使用场景

  • 按服务定位:用应用与环境的组合缩小检索范围
  • 排除测试数据:用不等条件过滤测试命名空间
  • 多值匹配:用正则一次选中多个服务或级别
  • 空值补全:对未设置某标签的流用正则表达至少一个字符
  • 探索起步:先用宽选择器观察有哪些标签,再逐步收窄

选择器写法

选择器写法
# 精确匹配
{app="api"}

# 正则多选与排除
{app=~"api|web", env!="test"}

# 要求某标签至少有一个字符
{cluster=~".+"}

# 无效写法:没有任何非空匹配条件,会被拒绝
# {}

匹配方式

写法含义注意
等于标签值完全一致最精确,优先使用
不等于排除某个取值常用于排除测试环境
正则匹配按模式匹配标签值全串匹配,注意锚定
正则不匹配按模式排除取值过于宽泛会降低扫描效率
选择器越精细,扫描的流与数据块越少;正则前缀明确的写法比宽泛正则更容易被优化,检索更快。
标签值区分大小写:写错大小写不会报错,只会返回空结果,容易被误判为日志没有上报。

易错点

  • 缺少非空匹配条件:查询被直接拒绝,无法执行
  • 标签值大小写写错:返回空结果,排查时先怀疑采集其实是误判
  • 叠加多个宽泛正则:不提升精度,反而增加扫描负担
  • 过滤条件全部写在选择器之后:先扫描大量数据再过滤,开销明显更高

数据来源与参考

  • Grafana 官方文档 · LogQL stream selector
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌