使用filebeat传输csv文件 案例

使用filebeat传输csv文件 案例,csv,bigdata,logstash,elastic-stack,filebeat,Csv,Bigdata,Logstash,Elastic Stack,Filebeat,将csv文件从客户端PC推送到服务器端的elastic 松紧带安装得很好。我可以从我的电脑上访问它并使用演示数据。现在我想学习如何用我自己的数据推送它。我已经从卡格尔那里准备好了数据 客户端 我已经在客户端下载了filebeat并将其解压缩。 我将filebeat.yml编辑为 filebeat.inputs: - input_type: log paths: - C:\Users\Charles\Desktop\DATA\BrentOilPrices.csv document_ty

将csv文件从客户端PC推送到服务器端的elastic

松紧带安装得很好。我可以从我的电脑上访问它并使用演示数据。现在我想学习如何用我自己的数据推送它。我已经从卡格尔那里准备好了数据

客户端 我已经在客户端下载了filebeat并将其解压缩。 我将filebeat.yml编辑为

filebeat.inputs:
- input_type: log
  paths:
    - C:\Users\Charles\Desktop\DATA\BrentOilPrices.csv
document_type: test_log_csv
output.logstash:
  hosts: ["10.64.2.246:5044"]
我还测试了它

./filebeat test config
它返回: 配置Ok

服务器端 将logstash.conf编辑为

input {
beats {
port =>5044
}
}

filter {

if "test_log_csv" in [type]
{
csv {
columns=>["Date","Price"]
separator=>","
}
mutate{
convert => ["Price","integer"]
}
date{
match=>["Date","d/MMM/yy"]
}
}
}

output {
if "test_log_csv" in [type]
{
elasticsearch
{
hosts=>"127.0.0.1:9200"
index=>"test_log_csv%{+d/MM/yy}"
}
}
客户端 我跑

它什么也不返回

我检查了我的kibana,没有日志。 我错过了什么

在客户端编辑filebeat.yml
在6.X版中,已从Filebeat中删除了
文档类型
选项,因此不再创建
类型
字段,因为您的条件是基于此字段的,因此管道将无法工作。此外,即使在windows上,也应该尝试使用前斜杠(
/

尝试更改下面的配置,然后再次测试

filebeat.inputs:
- input_type: log
  paths:
    - 'C:/Users/Charles/Desktop/DATA/BrentOilPrices.csv'
fields:
  type: test_log_csv
fields_under_root: true
output.logstash:
  hosts: ["10.64.2.246:5044"]

_root:true下的选项
fields\u将在文档的根目录中创建
type
,如果删除此选项,该字段将创建为
[fields][type]
,您需要将条件更改为该字段。

您使用的是哪个版本的filbeat?自6.0版以来,
文档类型
已被删除,不再工作,您需要使用该选项。另外,在路径输入上使用前斜杠(
/
),即使在windows上也是如此。很抱歉,我的回复太晚了,我使用的是7.4.2文件。谢谢你回复我。我已经按照您的指示进行了操作,但没有任何更改。请尝试在过滤器和输出中不带任何
if
条件的情况下运行日志存储管道,以查看正在收集的内容。
filebeat.inputs:
- input_type: log
  paths:
    - 'C:\Users\Charles\Desktop\DATA\BrentOilPrices.csv'
fields:
document_type: test_log_csv
output.logstash:
  hosts: ["10.64.2.246:5044"]
filebeat.inputs:
- input_type: log
  paths:
    - 'C:/Users/Charles/Desktop/DATA/BrentOilPrices.csv'
fields:
  type: test_log_csv
fields_under_root: true
output.logstash:
  hosts: ["10.64.2.246:5044"]