从客户端PC推送csv文件到服务器端的弹性文件
松紧带已经安装好了。我可以从我的电脑访问它并使用演示数据。现在,我想学习如何使用自己的数据进行推送。我已经从kaggle准备了数据。
我已经在客户端下载了文件拍并提取了它。 我已将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
返回: 确定配置
将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}"
}
}
我跑步
Start-Service filebeat
它什么也不返回。
我检查了我的kibana,没有日志。 我想念什么?
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"]
答案 0 :(得分:1)
document_type
选项已从6.X版本的Filebeat中删除,因此不再创建type
字段,因为您的条件基于此字段,因此管道将无法工作。另外,即使在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"]
选项fields_under_root: true
将在文档的根目录中创建字段type
,如果删除此选项,该字段将被创建为[fields][type]
,并且您需要更改该字段的条件。