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"