elasticsearch 按需运行日志存储,elasticsearch,logstash,elasticsearch,Logstash" /> elasticsearch 按需运行日志存储,elasticsearch,logstash,elasticsearch,Logstash" />

elasticsearch 按需运行日志存储

elasticsearch 按需运行日志存储,elasticsearch,logstash,elasticsearch,Logstash,是否可以按需运行logstash而不是流式文件?我已经将一组文件放在一个文件夹中,但我只想根据需要将其中的少数文件推送到elasticsearch 用logstash能做到吗?我有一个选项,可以不使用logstash,通过编程来完成。但是考虑到当前的文件大小(~10gb)和未来的预期增长,我想看看logstash是否是一个选项。您可以参考以获得帮助。 要指定要监视的文件,请执行以下操作: input{ file{ path => ["/var/log/message

是否可以按需运行logstash而不是流式文件?我已经将一组文件放在一个文件夹中,但我只想根据需要将其中的少数文件推送到elasticsearch

用logstash能做到吗?我有一个选项,可以不使用logstash,通过编程来完成。但是考虑到当前的文件大小(~10gb)和未来的预期增长,我想看看logstash是否是一个选项。

您可以参考以获得帮助。 要指定要监视的文件,请执行以下操作:

input{
    file{
        path => ["/var/log/messages","/var/log/nginx/access.log"]
    }
}
或者,在您的情况下,您也可以监视文件夹并排除其中的某些文件:

input{
    file{
        path => ["/var/log/nginx/*.log"]
        exclude => "error.log"
    }
}

您始终可以使用stdin输入将文件内容通过管道传输到日志存储:

cat myfile.txt | bin/logstash -f logstash.conf
其中
logstash.conf
定义

input { 
    stdin{}
}

当您需要流式处理文件时,手动运行Logstash如何?Logstash不接受输入文件作为参数。因此,手动操作将需要创建不同的配置。此外,logstash不会在处理完成后停止。我需要logstash在处理完成后立即停止。有办法吗?请建议您始终可以使用
stdin
input:
cat myfile.txt | bin/Logstash-f Logstash.conf
,将文件内容通过管道传输到Logstash,其中
Logstash.conf
定义
输入{stdin}
非常感谢。这正是我想要的。这是流文件的标准配置。一旦access.log文件处理完成,使用此实例运行logstash不会停止。它将永远等待,看看是否有任何修改。我想知道是否有任何方法可以在文件处理完成后立即停止该过程。