Logstash 输出有效但无法提供弹性搜索

Logstash output works but fail to feed elasticsearch

我正在尝试将我的 API 自定义日志文件传递给 Kibana。为此,我使用 myLogFiles.log -> Logstash -> Elasticsearch -> Kibana。

问题

Logstash 输出表明一切正常,但 Elasticsearch 仍然是空的(我用 kibana 或 elasticsearch web 可视化插件检查过)

问题

我如何提供 elasticsearch 以在 kibana 中可视化我的数据?

调试到此为止

为了进行一些调试,我告诉 Logstash 在 .log 文件和控制台上输出。 看看我的 logstash.conf:

input {
    file {
        path => '/home/***/dev_logstach/acci.log'
    start_position => beginning
    }
}


filter {
    grok {
        match => {"message" =>  "%{WORD:key} %{WORD:userID} %{WORD:lakeID} %{WORD:ballID} %{NUMBER:longitude} %{NUMBER:latitude} %{TIMESTAMP_ISO8601:date_evenement}"}
    }
}


output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "testACCI"
  }
  stdout { codec => rubydebug }
  file {
   path => "/home/***/dev_logstach/testLog.log"
   create_if_deleted => true
  }
}

和一个 logstash 输出

{
            "userID" => "HJcOX",
        "@timestamp" => 2018-04-10T13:27:47.723Z,
          "latitude" => "-123.8",
           "message" => "{message:ACWWCI HJcOX qHYFM ABCCCC -22.5 -123.8 2018-04-10T09:11:06.173Z,level:info}",
              "path" => "/home/***/dev_logstach/acci.log",
    "date_evenement" => "2018-04-10T09:11:06.173Z",
          "@version" => "1",
            "lakeID" => "qHYFM",
               "key" => "ACWWCI",
         "ballID" => "ABCCCC",
              "host" => "sd-10****",
         "longitude" => "-22.5"
}

当我再次 运行 它不记录以前的数据时,当我

logstash 运行
 echo -e "new data line" >> acci.log

新数据出现在日志中。 然后我假设数据被发送到某个地方,但我不知道在哪里以及如何继续前进。

在 elasticsearch 日志中我只看到一个警告:

2018-04-10T17:01:52,507][WARN ][o.e.d.i.m.MapperService  ] [_default_] mapping is deprecated since it is not useful anymore now that indexes cannot have more than one type

P.S。我读到了类似的问题,但这是由于我的日期格式有效 (YYYY-MM-DD...)

几个选项:

  1. 提前创建你的elasticsearch索引
  2. 创建 elasticsearch 索引模板

这应该可以解决您的问题。