elasticsearch 查询

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记录

转载于:https://my.oschina.net/attacker/blog/3050328

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值