2017-06-21 51 views
0

我想知道,如果logstash能够直接从CSV文件中创建字段名,所有我能找到的是硬编码像这样的方式:在Logstash中:有没有直接从CSV文件头创建字段的方法?

csv { 
      separator => "," 
      columns => ["Timestamp", 
         "Imsi", 
         "imeitac", 
         "msisdn", 
         "mcc", 
         "mnc", 
         "rat", 
         "bearer", 
         "ID", 
         "Location"] 
    } 

但是该领域可能不会以相同的顺序,那么是否有更动态的方式来创建运行的字段。基本上我希望能够根据解析开始时csv文件的头部创建所有字段。

我能够找到的所有资源都说不可能开箱即可,如果是这样的话,另一个可能的方法是什么?

+0

要求“最佳”答案是征求意见。只要求“其他”答案并跳过意见就可以避免这个问题。希望这可以帮助。 –

+0

(编辑)任何其他方式会做,我对ELK堆栈很新,所以我只是在寻找新的想法。 –

回答

0

没有这么多,没有。在这种情况下,Logstash处理事件,这些事件是文件中的单独行。到CSV过滤器看到一个事件时,它不知道之前发生了什么。

要做你正在寻找的东西,你需要一个解码这些通气口的file {}输入。但是,我找不到编解码器。如果您有能力更改文件的格式,则有一个json {}编解码器,将值分配给文件中找到的字段。

+0

我可以使用json文件,我会尝试。 –

相关问题