现在,当logstash过滤器得到eof,似乎logstash过滤器还在运行,但文件没有更多的日志输出到elasticsearch索引
我如何摆脱logstash过滤器时,它的文件结束(eof),做另一个任务?
我在logstash过滤器的输出上使用exec解决了这个问题,并创建了一个bash脚本来终止logstash进程。
input
{
...
}
filter
{
...
}
output
{
exec
{
command => "sh kill_logstash.sh"
}
...
}
在bash脚本(kill_logstash.sh)中:
#!/bin/bash
echo 'Terminou a leitura do ficheiro'
pkill -f logstash
exit 0
同样的问题:如何在完成测试时自动终止logstash代理?
在logstash中没有eof的概念。Logstash连续监视器输入文件。如果在文件中发生任何变化,它将发送到过滤器。如果你想监控多个文件,你可以在输入部分给出多个文件块。