Kibana 正则查询语法示例大全

Kibana 的正则查询:KQL 中用 字段 : /正则/ 语法(如 status: /4../),Lucene 模式用斜杠包裹。本文给出 IP 段匹配、状态码段、路径前缀等常用正则示例与性能注意事项。

最佳实践
Kibana 正则查询语法示例大全封面

KQL 中正则用斜杠包裹:status : /5../ 匹配所有 5xx 状态码;client_ip : /10\\.0\\..*/ 匹配内网 IP 段——正则查询直观但性能较差,生产慎用在大数据量上。

常用示例

# 状态码段:所有 4xx
status : /4../

# 内网 IP 段
client_ip : /10\\.0\\.[0-9]+\\.[0-9]+/

# 路径前缀:/api/v2 开头的所有接口
url : /\\/api\\/v2\\/.*/

# 域名后缀
host : /.*\\.example\\.com/

# 多种错误之一
level : /(ERROR|FATAL)/

操作入口

  • KQL 搜索栏直接写上述语法;
  • 或 Add filter → Edit as Query DSL 写 regexp 查询:
{ "regexp": { "status": "5.." } }

性能注意

  • 正则查询无法走索引前缀优化,前置通配/.*error/)最慢,尽量让正则以固定字符开头;
  • keyword 字段上做正则;text 字段上正则匹配的是分词后的 term,语义容易出乎意料;
  • 高频使用的过滤条件,不如在采集侧把维度解析成独立字段再精确匹配。

观测云对照

观测云 DQL 支持正则匹配函数与通配符筛选,日志查看器的筛选面板对常用模式(IP 段、状态码)提供点选式操作。

常见问题(FAQ)

Q:KQL 里正则特殊字符要转义吗? 斜杠内的 . * 是正则语义;匹配字面点号写 \\.

Q:正则查不到数据? 先确认字段类型——text 字段的 term 是分词结果,整串正则匹配不到。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台