【问题标题】:Filter Date Logstash过滤日期 Logstash
【发布时间】:2016-05-21 10:16:49
【问题描述】:

我刚开始使用 Logstash 解析 CSV 文档。 CSV 文档只有两列“日期”和“高”。我已经阅读了各种配置来解析日期,但我不能,这给了我该字段的错误。日期的格式为 DD / MM / YYYY,错误告诉我以下内容:

Failed parsing date from field {:field=>"Date", :value=>"Date", :exception=>"Invalid format: \"Date\"", :config_parsers=>"dd/MM/YYYY", :config_locale=>"default=es_ES", :level=>:warn}

这是我过滤 Logstash 的配置文件:

input {
  file {
    path => "/path/to/data.csv"
    start_position => "beginning"    
  }
}

filter {
  csv {
      separator => ","
      columns => ["Date","High"]
  }

  date{
     match => [ "Date", "dd/MM/YYYY" ]
  }

  mutate {convert => ["High", "float"]}

}

output {  
    elasticsearch {
        hosts => ["localhost:9200"]
    action => "index"
    index => "machine"
    workers => 1
    }
    stdout { codec => rubydebug }
}

谢谢!!

【问题讨论】:

  • 您是否看到在您的 stdout{} 输出中创建了两个字段?
  • 感谢您回答阿兰。在控制台上,我可视化数据过滤,在开始时向我显示不要过滤 Date 字段的警告,从而完成整个过程。后来当我与 Kibana Elasticsearch 链接时,只能看到“时间戳”中设置的时间,而不是“日期”。 “高”列中的字段得到了很好的表示。谢谢!!

标签: date csv filter logstash


【解决方案1】:

在您的date 插件中尝试更改match 设置中的字母大小写。像这样的:

  date{
      match => [ "Date", "DD/MM/YYYY" ]
  }

如果没有帮助,请尝试将它们全部小写。

【讨论】:

    【解决方案2】:

    格式字符串dd/MM/yyyy 应该可以工作。您可以在the JodaTime documentation中找到格式化字符串的详细规范。

    【讨论】:

      猜你喜欢
      • 2014-10-20
      • 1970-01-01
      • 2019-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多