有没有办法在conf文件中放置相对路径?

时间:2014-10-23 11:00:20

标签: logstash

好吧,我遇到了以下问题。 我的工作区有以下方式

bin  conf  example  lib  LICENSE  locales  patterns  README.md  spec  vendor

在conf文件夹中,我获得了文件logstash-apache.conf和下一个输入

input {
  file {
    path => "./../example/logs/logprueba/*_log"
    start_position => beginning   }
  }
}

当我运行logstash时,我收到消息:

File paths must be absolute, relative path specified: ./../example/logs/logprueba/*_log

有没有办法设置相对路径?

2 个答案:

答案 0 :(得分:4)

答案是否定的 - 不是没有修改logstash源代码......根据docs

  

要用作输入的文件的路径。你可以在这里使用globs,例如/var/log/*.log路径必须是绝对的,不能是相对的。

答案 1 :(得分:1)

您始终可以使用bash $(pwd)使用环境变量来产生当前目标,这可能不是您的主要解决方案,但至少不是反模式:

export CSV_FILE=$(pwd)\/temporal_datasets\/dataset.csv

然后在logstash配置文件中

input {
  file {
    path => '${CSV_FILE}'
    start_position => "beginning"
    sincedb_path => "/dev/null"
    ignore_older => 0
  }
}