elasticsearch 如何从Elasticsearch_源中提取特征以编制索引,elasticsearch,logstash,kibana,kibana-4,elasticsearch,Logstash,Kibana,Kibana 4" /> elasticsearch 如何从Elasticsearch_源中提取特征以编制索引,elasticsearch,logstash,kibana,kibana-4,elasticsearch,Logstash,Kibana,Kibana 4" />

elasticsearch 如何从Elasticsearch_源中提取特征以编制索引

elasticsearch 如何从Elasticsearch_源中提取特征以编制索引,elasticsearch,logstash,kibana,kibana-4,elasticsearch,Logstash,Kibana,Kibana 4,我使用logstash、elasticsearch和kibana收集日志。 日志文件是json,如下所示: {"_id":{"$oid":"5540afc2cec7c68fc1248d78"},"agentId":"0000000BAB39A520","handler":"SUSIControl","sensorId":"/GPIO/GPIO00/Level","ts":{"$date":"2015-04-29T09:00:00.846Z"},"vHour":1} {"_id":{"$oid":

我使用logstash、elasticsearch和kibana收集日志。 日志文件是json,如下所示:

{"_id":{"$oid":"5540afc2cec7c68fc1248d78"},"agentId":"0000000BAB39A520","handler":"SUSIControl","sensorId":"/GPIO/GPIO00/Level","ts":{"$date":"2015-04-29T09:00:00.846Z"},"vHour":1}
{"_id":{"$oid":"5540afc2cec7c68fc1248d79"},"agentId":"0000000BAB39A520","handler":"SUSIControl","sensorId":"/GPIO/GPIO00/Dir","ts":{"$date":"2015-04-29T09:00:00.846Z"},"vHour":0}
我在logstash中使用的代码:

input {
  file {
    type => "log"
    path => ["/home/data/1/1.json"]        
    start_position => "beginning"
  }
}

filter {
    json{
        source => "message"   
     }
}
output {
  elasticsearch { embedded => true }
  stdout { codec => rubydebug }
}
elasticsearch中的输出为:

{
"_index": "logstash-2015.06.29",
"_type": "log",
"_id": "AU5AG7KahwyA2bfnpJO0",
"_version": 1,
"_score": 1,
"_source": {
"message": "{"_id":{"$oid":"5540afc2cec7c68fc1248d7c"},"agentId":"0000000BAB39A520","handler":"SUSIControl","sensorId":"/GPIO/GPIO05/Dir","ts":{"$date":"2015-04-29T09:00:00.846Z"},"vHour":1}",
"@version": "1",
"@timestamp": "2015-06-29T16:17:03.040Z",
"type": "log",
"host": "song-Lenovo-IdeaPad",
"path": "/home/song/soft/data/1/Average.json",
"_id": {
"$oid": "5540afc2cec7c68fc1248d7c"
},
"agentId": "0000000BAB39A520",
"handler": "SUSIControl",
"sensorId": "/GPIO/GPIO05/Dir",
"ts": {
"$date": "2015-04-29T09:00:00.846Z"
},
"vHour": 1
}
}
但是json文件中的信息都在源代码中,而不是索引中 所以我不能用kibana来分析它们

kibana显示分析不适用于对象字段。 _源是对象字段


如何解决此问题?

您从kibana收到的实际问题(消息等)是什么?kibana无法获取“\u源”中的属性,例如“agentId”、“handler”、“sensorId”。因为这些属性没有索引。kibana只能获取索引属性。Kibana获取诸如“_index”、“_type”、“_source”之类的项目,但无法获取“_source”中的属性。我不知道如何让Kibana在“_source”中读取这些属性。因此,这些字段不会显示在Kibana左侧的字段列表中,并进行搜索(处理程序:SUSIControl)什么都不做?根据我的经验,_source中的文档被索引以供查询,并将从_source中重新解析以供kibana使用。您没有看到它们的事实可能意味着您需要刷新kibana中的索引。如果您不知道如何操作,请检查以下问题:。您还可以通过询问索引GET/_映射的映射来验证可用字段。您实际上从kibana获得了什么问题(消息等)?kibana无法获取“_源”中的属性,例如“agentId”、“handler”、“sensorId”。因为这些属性没有索引。kibana只能获取索引属性。Kibana获取诸如“_index”、“_type”、“_source”之类的项目,但无法获取“_source”中的属性。我不知道如何让Kibana在“_source”中读取这些属性。因此,这些字段不会显示在Kibana左侧的字段列表中,并进行搜索(处理程序:SUSIControl)什么都不做?根据我的经验,_source中的文档被索引以供查询,并将从_source中重新解析以供kibana使用。您没有看到它们的事实可能意味着您需要刷新kibana中的索引。如果您不知道如何操作,请检查以下问题:。您还可以通过询问索引GET/\u映射的映射来验证可用字段。