在log-stash配置中外部化绝对路径名,并使用patterns_dir中的相对路径

时间:2016-12-26 10:53:11

标签: logstash logstash-grok logstash-configuration

您好logstash专家请帮帮我 在输入部分执行logstash配置时

input 
{
    file 
    {
         path => "/TISUATWEB53/home/tisuat54/solstis/solstair-uat/solstis-persist-1/logs/solstispersist.log" #file to parse
         sincedb_path =>"/TISUATWEB53/home/tisuat54/solstis/solstair-uat/solstis-persist-1/logs/solstispersist.db" #file to save position (used after restart)
         start_position => "beginning" #start on the beginning of the file when no sincedb path created
    }
}  

filter {
    grok {
#    patterns_dir => ["../.././patterns/"]
     patterns_dir => ["/TISUATWEB53/home/tisuat54/Tmon_LogStash/tmon-agent-3.2.3/patterns/"]
     match => { "message" => "%{BEFORE_THREAD_NAME}(%{THREAD_NAME:thread_name})%{BEFORE_ANALYSISPROCESS_ID}(%{ONLY_DIGITS:analysisprocessId})%{BEFORE_INSERTIONMONITORING_ID}%{ONLY_DIGITS:insertionmonitorId}%{BEFORE_BIN_FILE}%{BINFILE:binfileName}"}
    }
}

我们可以在属性文件中定义文件路径并引用path =>中的属性吗?和sincedb_path => 。
并且在过滤器部分中如何在patterns_dir中定义相对路径。我已经尝试过patterns_dir => [“../../patterns/”]但不能正常工作

1 个答案:

答案 0 :(得分:2)

您可以在logstash中使用环境变量,因此您可以在文件中执行${VAR_FROM_ENVIRONMENT},然后在启动logstash之前设置该变量。例如:

export VAR_FROM_ENVIRONMENT="/TISUATWEB53/home/tisuat54"
bin/logstash -f logstash.conf

如果您在logstash-5之前运行logstash版本,则需要在logstash命令行中添加--allow-env标志。