我已经定义了这个配置文件
input {
file {
path => "C:\Users\Jack\Desktop\logsatash_practice"
type => "txt"
}
}
output {
file {
path => "C:\Users\Jack\Desktop\logsatash_practice\op"
}
}
并通过 cmd 运行“logstash agent -f local_config.conf”命令。
之后我收到一条消息,然后超过 1 小时没有发生任何事情。
打印的消息:
"C:\Users\Jack\Desktop\logstash-1.4.2\bin>logstash 代理 -f local_config.conf
←[33m使用里程碑2输入插件'文件'。这个插件应该是稳定的,但是如果
你看到奇怪的行为,请告诉我们!有关插件 mi 的更多信息
莱斯通,见 http://logstash.net/docs/1.4.2/plugin-milestones {:level=>:warn}←[
0米
←[33m使用里程碑2输出插件'文件'。这个插件应该是稳定的,但我
如果您看到奇怪的行为,请告诉我们!有关插件 m 的更多信息
石像,见 http://logstash.net/docs/1.4.2/plugin-milestones {:level=>:warn}←
【0米”
可以肯定的是,我确认配置文件存在于我在配置文件中定义的路径中。
有任何想法吗?
最佳答案
Logstash 第一次看到一个文件时,它的行为取决于 start_position
你设置。您似乎期望它会从 beginning
中读取。文件,但默认行为是从 end
开始.
所以,你可能想要:
file {
path => "C:\Users\Jack\Desktop\logsatash_practice"
type => "txt"
start_position => "beginning"
}
但是,每次 Logstash 看到一个文件时,它都会用
sincedb
标记它的进度。入口。现在 Logstash 已经查看过您的文件一次,它不会再将其视为"new"文件。如果您删除该条目并重新启动 Logstash,它将忘记它已经看到了该文件。sincedb 数据保存在文件中。您可以为它们指定路径,但默认设置会将它们保留在您的主目录中。
如果您只是在练习并且不关心您的数据,您可以简单地删除所有这些数据。
如果您确实要小心,可以使用
-v
运行 Logstash。打印出每个 sincedb 路径,并找到您需要删除的特定文件。
关于elasticsearch - 运行命令后logstash卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30079250/