将 csv 内容附加到现有的 logstash 索引
Appending csv contents to an existing logstash index
我有一个文件夹,用户会在其中不断添加 csv 文件以供 logstash 提取。用户将每天在此文件夹中添加 csv 文件。 csv 文件的名称类似于 yyyymmdd-dailyUsageData.csv
,即文件名的开头几个字符作为日期。 csv 文件的内容将再次具有此日期值和一些其他列,即日期、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"
}
我有一个文件夹,用户会在其中不断添加 csv 文件以供 logstash 提取。用户将每天在此文件夹中添加 csv 文件。 csv 文件的名称类似于 yyyymmdd-dailyUsageData.csv
,即文件名的开头几个字符作为日期。 csv 文件的内容将再次具有此日期值和一些其他列,即日期、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"
}