由于我是新手,因此我正在关注基本教程,并且具有以下配置文件:
input {
file {
path => "D:\elastic\logstash\data\data.csv"
start_position => "beginning"
}
}
filter {
csv {
separator => ","
columns => ["Date","Open","High","Low","Close","Volume","Adj Close"]
}
mutate {convert => ["High", "float"]}
mutate {convert => ["Open", "float"]}
mutate {convert => ["Low", "float"]}
mutate {convert => ["Close", "float"]}
mutate {convert => ["Volume", "float"]}
}
output {
elasticsearch {
action => "index"
host => "localhost"
index => "stock"
workers => 1
}
stdout {}
}
然后我在终端中执行以下命令
bin\logstash -f logstash-simple.conf
它打印此:
io/console not supported; tty will not be manipulated
←[31mfetched an invalid config {:config=>"input { \n file {\n path => \"D:\
\elastic\\logstash\\data\\data.csv\"\n start_position => \"beginning\" \n
}\n}\nfilter { \n csv {\n separator => \",\"\n columns => [\"Date\"......
并解析其余文件。
我想念什么?
它采用UTF-8格式,并且尝试了EOL UNIX和Windows格式,但都失败了。
最佳答案
您需要像这样修改file
输入:
file {
path => "D:\\elastic\\logstash\\data\\data.csv"
start_position => "beginning"
}
或像这样
file {
path => "D:/elastic/logstash/data/data.csv"
start_position => "beginning"
}
同样在您的过滤器中,
mutate/convert
中有错别字。它们应该是这样的(即用=>
替换=>
): mutate {convert => ["High", "float"]}
mutate {convert => ["Open", "float"]}
mutate {convert => ["Low", "float"]}
mutate {convert => ["Close", "float"]}
mutate {convert => ["Volume", "float"]}
关于elasticsearch - 无效的配置Logstash文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38787259/