注:本文基于Kibana 7.13.4版本
1. Kibana搜索语法
Kibana的搜索语法分为两种类型,
- KQL,它是默认语法格式
- Lucene,它是可选格式
2. 常用搜索语法
2.1 精确匹配
比如匹配hostname为localhost,需要带双引号,这个对于两种语法都通用
hostname:"localhost"
2.2 通配符*
匹配0到多个字符,这个对于两种语法都通用,譬如匹配hostname为localhost,local,localaab等,注意不需要双引号,不然就当做字符串,而不是通配符了
hostname:local*
2.3 通配符?
KQL不支持该语法,用于匹配单个字符,比如匹配hostname名字为localhost,locblhost等,同样注意不需要双引号
hostname:loc?lhost
2.4 正则表达式
KQL不支持该语法,比如匹配hostname为localhosta,localhostb,localhostc,……localhostz,注意,表达式需要用斜杆/标识
hostname:/localhost[a-z]/
比如匹配hostname为localhost,remotehost,
hostname:/(local|remote)host/
参考文档:
- https://stackoverflow.com/questions/62281279/what-is-the-difference-between-lucene-query-language-and-kql
- https://www.elastic.co/guide/en/kibana/current/kuery-query.html