如何解决Logstash中CSV文件的解析错误

均价

我正在使用Filebeat将CSV文件发送到Logstash,然后发送到Kibana,但是当Logstash拾取CSV文件时,出现解析错误。

这是CSV文件的内容:

time    version id  score   type

May 6, 2020 @ 11:29:59.863  1 2 PPy_6XEBuZH417wO9uVe  _doc

logstash.conf:

input {
  beats {
    port => 5044
  }
}
filter {
  csv {
      separator => ","
      columns =>["time","version","id","index","score","type"]
      }
}
output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
  }
}

Filebeat.yml:

filebeat.inputs:

# Each - is an input. Most options can be set at the input level, so
# you can use different inputs for various configurations.
# Below are the input specific configurations.

- type: log

  # Change to true to enable this input configuration.
  enabled: true

  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    - /etc/test/*.csv
    #- c:\programdata\elasticsearch\logs\*

和Logstash中的错误:

[2020-05-27T12:28:14,585][WARN ][logstash.filters.csv     ][main] Error parsing csv {:field=>"message", :source=>"time,version,id,score,type,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,", :exception=>#<TypeError: wrong argument type String (expected LogStash::Timestamp)>}
[2020-05-27T12:28:14,586][WARN ][logstash.filters.csv     ][main] Error parsing csv {:field=>"message", :source=>"\"May 6, 2020 @ 11:29:59.863\",1,2,PPy_6XEBuZH417wO9uVe,_doc,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,", :exception=>#<TypeError: wrong argument type String (expected LogStash::Timestamp)>}

我确实在Kibana中获得了一些数据,但没有得到我想要看到的数据。

在此处输入图片说明

伊拉迪亚奈

我设法使它在本地工作。到目前为止,我注意到的错误是:

  1. 使用ES保留字段一样@timestamp@version等。
  2. 时间戳记不是ISO8601格式。@在中间有一个标志。
  3. 您的过滤器将分隔符设置为,,但CSV实际分隔符为"\t"
  4. 根据错误,您可以看到它也试图在标题行上工作,建议您将其从CSV中删除或使用该skip_header选项。

以下是我使用的logstash.conf文件:

input {
    file {
        path => "C:/work/elastic/logstash-6.5.0/config/test.csv"
        start_position => "beginning"
    } 
}
filter { 
    csv { 
        separator => ","
        columns =>["time","version","id","score","type"]
    } 
} 
output { 
    elasticsearch { 
        hosts => ["localhost:9200"]
        index => "csv-test" 
    } 
}

我使用的CSV文件:

May 6 2020 11:29:59.863,1,PPy_6XEBuZH417wO9uVe,_doc
May 6 2020 11:29:59.863,1,PPy_6XEBuZH417wO9uVe,_doc
May 6 2020 11:29:59.863,1,PPy_6XEBuZH417wO9uVe,_doc
May 6 2020 11:29:59.863,1,PPy_6XEBuZH417wO9uVe,_doc

从我的Kibana:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在 Weka 中打开 CSV 文件时,如何解决此“错误数量的值”错误?

如何解决Spring Boot中解析YAML配置的错误?

如何解决反应 js 中的解析错误?

从.csv文件中解析的字符串是kml文件中的无效标记。我该如何解决?

Spring Batch:如何解析错误的CSV文件?

如何解析logstash中的字段值?

如何解决我的 json 文件中的此错误

如何解决我的视图文件中的值错误

如何解决C ++头文件中的许多错误?

如何解析CSV文件到Android Studio中的数组

如何解析csv文件而忽略文本中的逗号?

Java:如何解析 csv 文件以比较列中的数据

Python代码未将读数存储在.csv文件中。收到“预期序列”错误。任何想法如何解决这个问题?

如果我要解析的列在 Python 中的 CSV 文件的中间,如何解析 CSV 文件?

如何解决打开文件堆错误

尝试更新时如何解决“MergeList 问题”或“无法解析状态文件”错误?

获取解析错误和语法错误如何解决?

如何解决PHP上的解析错误语法错误

如何解决登录页面中的错误

如何解决Grails中的BuildConfig错误

如何解决 Python 中的“MissingSchema”错误?

“如何解决错误:';' 预计在 Java 中?”

如何解决NodeJS JavaScript中的...错误

如何解决 Haskell 中错误的缩进

如何解决Python中的内存错误

如何解决ExecuteReader();中的错误?

如何解决操作栏中的错误

如何解决Java中的NullPointerException错误?

如何解决IDLE中的ModuleNotFound错误?