运行 按需 logstash
Run logstash on demand
是否可以 运行 按需 logstash 而不是流文件?我将一组文件放在一个文件夹中,但我只想根据需要将其中的几个推送到 elasticsearch。
这甚至可以用 logstash 实现吗?我确实可以选择在不使用 logstash 的情况下以编程方式执行此操作。但考虑到今天的文件大小 (~10gb) 和未来的预期增长,我想看看 logstash 是否是一个选项。
您可以参考logstash-input-file寻求帮助。
指定要监控的文件:
input{
file{
path => ["/var/log/messages","/var/log/nginx/access.log"]
}
}
或者,在您的情况下,您还可以监控文件夹并排除其中的某些文件:
input{
file{
path => ["/var/log/nginx/*.log"]
exclude => "error.log"
}
}
您始终可以使用标准输入输入将文件内容通过管道传输到 Logstash:
cat myfile.txt | bin/logstash -f logstash.conf
其中 logstash.conf
定义
input {
stdin{}
}
是否可以 运行 按需 logstash 而不是流文件?我将一组文件放在一个文件夹中,但我只想根据需要将其中的几个推送到 elasticsearch。
这甚至可以用 logstash 实现吗?我确实可以选择在不使用 logstash 的情况下以编程方式执行此操作。但考虑到今天的文件大小 (~10gb) 和未来的预期增长,我想看看 logstash 是否是一个选项。
您可以参考logstash-input-file寻求帮助。 指定要监控的文件:
input{
file{
path => ["/var/log/messages","/var/log/nginx/access.log"]
}
}
或者,在您的情况下,您还可以监控文件夹并排除其中的某些文件:
input{
file{
path => ["/var/log/nginx/*.log"]
exclude => "error.log"
}
}
您始终可以使用标准输入输入将文件内容通过管道传输到 Logstash:
cat myfile.txt | bin/logstash -f logstash.conf
其中 logstash.conf
定义
input {
stdin{}
}