【问题标题】:Externalize the absolute path names in log-stash configuration and using relative path in patterns_dir在 log-stash 配置中外部化绝对路径名并在 patterns_dir 中使用相对路径
【发布时间】:2016-12-26 10:53:11
【问题描述】:

您好,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/"] 但没有工作

【问题讨论】:

  • 在属性文件中定义路径是什么意思?
  • 我的意思是路径 => "/TISUATWEB53/home/tisuat54/solstis/solstair-uat/solstis-persist-1/logs/solstispersist.log" 这里的路径值是 "/TISUATWEB53/home /tisuat54/solstis/solstair-uat/solstis-persist-1/logs/solstispersist.log”想要放入一些属性文件,并且wnats使用类似路径=>%{propertyname}。有没有办法将路径的值外部化?
  • 我认为你可以做到这一点,只要它是你给出的绝对路径。您是否尝试将其放入道具文件中?
  • patterns_dir 支持过滤器不输入。
  • 以上评论是针对您在我上面提出的路径相关问题。

标签: logstash logstash-grok logstash-configuration


【解决方案1】:

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

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

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

【讨论】:

  • 您能否建议在输入 { file { path 的情况下如何使用环境变量
  • 嗨,请告诉我,我正在等待回复。
  • 任何你放 ${var} 的地方都会在读取配置文件时被替换
  • export SOLSTAIRJVM1="/TISUATWEB53/home/tisuat54/solstis/solstair-uat/solstis-persist-1/logs/solstispersist.log" and path => ${SOLSTAIRJVM1} in th logstash.config .并使用 ./tmon-agent.sh start config/linux/logstash.config --allow-env 运行没有工作
  • 获取了一个无效的配置 {:config=>"input \n{\n file \n\t{\n path => ${SOLSTAIRJVM1} \n", :reason=>"预期一个的 #, \", ', -, [, { 在第 5 行,第 18 列(字节 40)输入后 \n{\n 文件 \n\t{\n 路径 => ", :level=>:error}
猜你喜欢
  • 2016-11-09
  • 2011-02-21
  • 1970-01-01
  • 2017-11-30
  • 2011-06-15
  • 2011-02-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多