【问题标题】:Possible to use logstash to merge data from multiple files?可以使用logstash 来合并来自多个文件的数据吗?
【发布时间】:2015-07-31 15:29:53
【问题描述】:

我有两个文件,一个 xml 文件和一个 csv 文件。当我从 csv 文件中提取数据时,我想从 xml 文件中添加字段。

这是我的 xml 的样子

<Root>
  <Date>07.31.2015</Run>
  <Customer>
    <Name>John</Name>
    <ID>12345</ID>
  </Customer>
</Root>

这是我的 csv

column1,column2,column3
example1,example2,example3
example4,example5,example6

现在我想从 xml 文件中提取日期和 ID,并将这些字段添加到 csv 的每一行,当我将其拉入弹性搜索时,如下所示:

{
  "_index" : "indx-2.0",
  "_type" : "logfile",
  "_id" : "abcdefg",
  "_score" : 1.0,
  "_source":{"message":["column1,column2,column3"],"Date":"07.31.2015", "CID": "12345"(etc)}
}
{
  "_index" : "indx-2.0",
  "_type" : "logfile",
  "_id" : "abcdefh",
  "_score" : 1.0,
  "_source":{"message":["example1,example2,example3"],"Date":"07.31.2015", "CID": "12345"(etc)}
}
{
  "_index" : "indx-2.0",
  "_type" : "logfile",
  "_id" : "abcdefi",
  "_score" : 1.0,
  "_source":{"message":["example4,example5,example6"],"Date":"07.31.2015", "CID": "12345"(etc)}
}

使用 logstash 可以实现这种事情吗(以及 .conf 文件会是什么样子)?

【问题讨论】:

    标签: xml csv elasticsearch logstash elastic-stack


    【解决方案1】:

    快速的想法:

    您可以将 xml 加载到 elasticsearch 并使用 elasticsearch{} 过滤器来查询文档并将其合并到您的 csv 数据中。

    如果 xml 数据没有太大变化(每个 csv 批次一次等),您可以使用 mutate->add_field 和硬编码值。

    【讨论】:

      猜你喜欢
      • 2021-08-21
      • 2017-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-28
      • 1970-01-01
      • 2019-11-08
      • 1970-01-01
      相关资源
      最近更新 更多