Kibana中的KQL语法
注意
- KQL匹配时是
不区分大小写
的,可以使用括号改变匹配优先级
; - 另外一个要点就是,匹配是
包含
,某个字段包含
某个词,而不是某个字段的值等于某个词。
等值匹配(equals)
分词匹配
,自动分词,包含其中一个词就会匹配http.response.body.content.text:quick brown fox
精确匹配
,加双引号
,不会分词http.response.body.content.text:"quick brown fox"
范围查询(> >= < <= )
account_number >= 100 and items_sold <= 200
布尔查询
或 与 不包含 :or
and
not
匹配200 但是不是 php,也不是 css
response:200 and not (extension:php or extension:css)
通配符查询
machine.os:win* 匹配以什么开头结尾
machine.os*:windows 10 匹配多字段
嵌套字段查询
要匹配库存超过 10 根香蕉的商店:
items:{ name:banana and stock > 10 }
{"grocery_name": "Elastic Eats","items": [{"name": "banana","stock": "12","category": "fruit"},{"name": "peach","stock": "10","category": "fruit"},{"name": "carrot","stock": "9","category": "vegetable"},{"name": "broccoli","stock": "5","category": "vegetable"}]
}
日期范围查询
@timestamp < "2021-01-02T21:55:59"