Elasticsearch5,存储服务器日志,查找具有两个给定日志消息的所有服务器

时间:2017-04-03 06:09:19

标签: elasticsearch kibana elasticsearch-5 kibana-5

我有以下映射(我使用elasticsearch5)

curl -XPUT 'http://localhost:9200/server_logs8?pretty' -d '
{
  "mappings": {
    "kafka-connect": {
      "properties": {
        "message": {
          "type": "string"
        },
        "server_name": {
          "type": "string"
        },
        "timestamp": {
          "type": "date"
        }
      }
    }
  }
}
'

我在服务器上寻找特定的错误行为,我需要知道哪些服务器受到影响。要找到它们,我需要执行以下操作

找到所有同时包含" message_a"的server_id和" message_b"

例如,如果我有文件(逐行)

{"server_id": 1 , "message":  "message_a"}
{"server_id": 1 , "message":  "message_c"}
{"server_id": 1 , "message":  "message_b"}

{"server_id": 2 , "message":  "message_d"}
{"server_id": 2 , "message":  "message_a"}

{"server_id": 3 , "message":  "message_a"}
{"server_id": 3 , "message":  "message_b"}

我希望它能归还给我[1, 3]

是否可以在一个查询中使用ElasticSearch执行此操作?

目前我正在做第一次请求" message_a"然后是第二个请求" message_b",我做了两组" server_id"的交集。我有,但我想在一个请求中这样做(特别是如果我可以从那里在Kibana创建视觉)

0 个答案:

没有答案