首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >elasticsearch消息字段值

elasticsearch消息字段值
EN

Stack Overflow用户
提问于 2014-02-25 22:33:29
回答 1查看 3.9K关注 0票数 2

我将json消息发送给logstash,由elasticsearch进行索引,并设法在Kibana中设置UI仪表板。我希望通过消息字段对数据进行过滤,但无法确定如何或在何处进行此操作。我的信息的一个例子:

代码语言:javascript
复制
{"message":"{"pubDate":"2014-02-25T13:09:14",
 "scrapeDate":"2014-02-5T13:09:26",
 "Id":"78967",
 "query":"samsung S5",
 "lang":"en"}

现在,它会计算所有传入的消息,但我需要通过字段本身过滤每条消息,例如Idlangquery。这必须在配置文件中完成,还是可以在Kibana接口中创建。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-26 01:39:13

首先,我假设您的json消息是

代码语言:javascript
复制
{
   "pubDate":"2014-02-25T13:09:14",
   "scrapeDate":"2014-02-5T13:09:26",
   "Id":"78967",
   "query":"samsung S5",
   "lang":"en"
}

当您将消息发送到logstash时,需要将编解码器指定为json。如下面的配置所示:

代码语言:javascript
复制
input {
    stdin {
            codec => json
    }
}

output {
    elasticsearch {
            cluster => "abc"
    }
}

Logstash将将消息解析为不同的字段,如输出:

代码语言:javascript
复制
{
   "pubDate" => "2014-02-25T13:09:14",
"scrapeDate" => "2014-02-5T13:09:26",
        "Id" => "78967",
     "query" => "samsung S5",
      "lang" => "en",
  "@version" => "1",
"@timestamp" => "2014-02-26T01:36:15.336Z",
      "host" => "AAAAAAAAAA"
 } 

当您在Kibana中显示这些数据时,您可以使用字段名:value来查询和过滤所需的内容。例如,可以使用lang:en查询所有消息。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22027698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档