如何使logstash在一天中运行一次并在作业完成后自动停止

时间:2015-07-01 03:11:57

标签: elasticsearch logstash

我想开发一种工具,它需要处理不同的日志文件,并且“每天只提供一次”输出。我无法在网上找到这样做的方法。

3 个答案:

答案 0 :(得分:0)

你想使用logstash的exec插件。访问网络" https://www.elastic.co/guide/en/logstash/current/plugins-inputs-exec.html#plugins-inputs-exec-interval"

"间隔"配置选项可以帮助您,Interval运行命令。价值以秒为单位。

答案 1 :(得分:-1)

logstash没有批处理模式。您需要编写一个包装器脚本,以便在完成后将其终止。

答案 2 :(得分:-1)

Logstash 可以以批处理模式运行(v2.3.4)。只需在命令行参数中省略“agent”一词,并将一些输出管道输入stdin输入过滤器,如下所示:

cat /var/log/somelog | logstash -e 'input { stdin {} } output { elasticsearch {} }'

您可能需要添加一个额外的字段来指定原始文件名,以便稍后查询数据。

注意:logstash可执行文件的--help文本未指定“agent”为可选项,但example from the official docs省略了“agent”一词。