【问题标题】:Index log files using Elasticsearch使用 Elasticsearch 索引日志文件
【发布时间】:2015-04-20 18:27:01
【问题描述】:

我是弹性搜索的新手。我已经在这方面搜索了几天,但找不到与它相关的任何内容。实际上,我想通过 Apache Flume 索引来自 spooldir 的日志文件。

我可以在 elasticsearch 中接收数据。但现在我希望将日志数据拆分为多个字段,然后进行索引。比如说……

"127.0.0.1 - - [18/Mar/2015:20:36:04 -0700] "GET / HTTP/1.1" 404 994"...这是我的日志数据。

现在索引应该像...

 field 1 is IP address,
 field 2 is timestamp, 
 field 3 is GET or POST method,
 field 4 is protocol,
 field 5 is status code,
 field 6 is time taken

然后我想使用 Kibana 可视化这些字段。默认情况下,我只能看到像

这样的 Kibana 字段
_source, 
_index,
 _id, 
_type

我希望显示所有这些字段。

【问题讨论】:

  • 其实...我正在处理 elasiticsearch 中的 template.json 文件,其中包括有关数据映射的设置。我可以通过在映射文件中提及它们来生成这些字段,并且在 kibana 中可见,但我无法在这些字段中推送数据。我不知道该怎么做。 Kibana 将这些字段显示为隐藏字段。

标签: apache elasticsearch kibana flume


【解决方案1】:

要么使用 Flume 中的 Morphline 拦截器来解析你的数据,要么编写你自己的拦截器来完成这项工作。

Logstash 也可以很好地工作,但它缺乏 Flume 的事务功能。

【讨论】:

    【解决方案2】:

    使用Logstash

    Logstash 负责索引多种类型的日志。您可以找到 here 一个使用 grokfilter 索引 HTTP 日志的示例。

    如果 Logstash 索引成功,您将能够看到 Kibana 中的所有日志。

    【讨论】:

    • yaa...我知道logstash...但我被要求使用Elasticsearch.. :(
    猜你喜欢
    • 2020-04-26
    • 2013-09-26
    • 2015-04-23
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-09
    • 1970-01-01
    相关资源
    最近更新 更多