我已定义此配置文件
input {
file {
path => "C:\Users\Jack\Desktop\logsatash_practice"
type => "txt"
}
}
output {
file {
path => "C:\Users\Jack\Desktop\logsatash_practice\op"
}
}
并运行" logstash agent -f local_config.conf"命令通过cmd。
之后我收到一条消息,然后发生的事情超过1小时。
印刷的信息: " C:\ Users \ Jack \ Desktop \ logstash-1.4.2 \ bin> logstash agent -f local_config.conf ←[33m使用里程碑2输入插件'文件'。这个插件应该是稳定的,但如果 你看到奇怪的行为,请告诉我们!有关插件mi的更多信息 lestones,见http://logstash.net/docs/1.4.2/plugin-milestones {:level =>:warn}←[ 0米 ←[33m使用里程碑2输出插件'文件'。这个插件应该是稳定的,但是我 如果您看到奇怪的行为,请告诉我们!有关插件m的更多信息 ilestones,请参阅http://logstash.net/docs/1.4.2/plugin-milestones {:level =>:warn}← [0米"
可以肯定的是,我确认配置文件存在于我在配置文件中定义的路径中。
任何想法?
答案 0 :(得分:1)
Logstash第一次看到文件时,其行为取决于您设置的start_position
。您似乎期望它将从文件的beginning
读取,但默认行为是从end
开始。
所以,你可能想要:
file {
path => "C:\Users\Jack\Desktop\logsatash_practice"
type => "txt"
start_position => "beginning"
}
但是,每次Logstash查看文件时,它都会使用sincedb
条目标记其进度。既然Logstash已经看过你的文件了一次,它就不会把它当作一个"新的"文件了。如果删除该条目并重新启动Logstash,则会忘记它已看到该文件。
sincedb数据保存在文件中。您可以为它们指定路径,但默认设置会将它们保留在您的主目录中。
如果您只是在练习并且不关心您的数据,那么您只需删除所有数据。
如果您确实需要小心,可以使用-v
运行Logstash以打印每个sincedb路径,并找到您需要删除的特定文件。