kabana官方工具查询
Dev Tools
- console 查看
最简单的DSL查询表达式
GET /_search
{
"query":{
"match_all": {}
}
}
** /_search** 查找整个ES中所有索引的内容 query 为查询关键字 match_all 匹配所有的文档
GET /logstash-nginx-access-2019.05.15/_search
GET /logstash-nginx-access-*/_search
- 例1
日志告警 - elasticsearch 模块
安装pip模块
pip install elasticsearch
``
**match** 简单匹配查询 ,搜索关于`server_name`字段中匹配到的所有记录
"query":{
"match": {
'server_name': 'www.attacker.club',
}
}
匹配域名的查询结果
**multi_match** 多个字段上执行相同的match查询 ,搜索关于`http_x_forwarded_for`或者`remote_addr`字段中匹配到的所有记录
"query": {
"multi_match": {
"query": "219.156.107.212",
"fields": ["http_x_forwarded_for", "remote_addr"]
}
}
匹配ip的查询结果
**query_string** 查询里边使用AND或者OR来完成复杂的查询
"query": {
"query_string": {
"query": "(web-1) OR (web-3)",
"fields": ["host.name"]
}
}
### 组合查询
通常我们可能需要将很多个条件组合在一起查出最后的结果,这个时候就需要使用ES提供的`bool`来实现
"query": {
"bool": {
"filter": [
{"match": {
"fields.log_source": "prod_nginx"
}},
{"query_string": {
"query": "(web-1) OR (web-3)" ,
"fields": ["host.name"]
}}]
}
}
查询nginx日志类型,包含主机web-1或者web-2记录