我有一个文件夹,用户将在其中继续添加csv文件供logstash使用。用户将每天在此文件夹中添加csv文件。 csv文件的名称类似于yyyymmdd-dailyUsageData.csv
,即文件名的前几个字符为日期。 CSV文件的内容将再次具有此Date值和其他一些列,即Date,colA,colB,colC等。要求是每天将csv文件的内容加载到logstash / elasticSearch中,以便在kibana中创建可视化效果。
尽管我可以对单个csv文件执行此操作,但是我不确定如何将第二天的csv文件的内容附加到已创建的索引中,该文件的名称带有不同的时间戳。以下是我创建的conf文件的示例:
input {
file {
path => "/etc/logstash/20160302-dailyUsageData.csv"
type => "usageData"
start_position => "beginning"
sincedb_path => "/home/ec2-user/mysincedbfile"
}
}
filter {
csv {
separator => ","
columns => ["Date","colA", "colB"]
}
mutate {convert => ["colA", "integer"]}
mutate {convert => ["colB", "float"]}
}
output {
elasticsearch {
action => "index"
hosts => "localhost:9200"
index => "dailyUsage"
workers => 1
}
stdout {}
}
最佳答案
您的file
输入可以只使用a pattern for the path
而不是单个文件
file {
path => "/etc/logstash/*.csv"
type => "usageData"
start_position => "beginning"
sincedb_path => "/home/ec2-user/mysincedbfile"
}
关于elasticsearch - 将csv内容附加到现有的logstash索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36789476/