动态Logstash配置

时间:2015-12-16 10:42:50

标签: perl elasticsearch logstash logstash-configuration

是否可以配置logstash以便动态更新所有输入日志路径?

我的要求是无论何时创建文件,我的Perl脚本都会通知生成日志的路径

  #!/use/bin/perl

  use strict;

  my @cmd = `find /var/vob -type d -iname rtl2gds`;
  open (OFH, ">/var/vob/rtl2gds/icc_shantesh/input_dir_list") or die ("unable to open file writing $!");
  print OFH @cmd;
  close OFH;

我收到包含所需日志的目录列表,我需要将它们作为logstash配置的输入提供。

如果我设置了一个cron作业来更新logstash配置文件,然后重新启动它是否可以?

我还需要一个过滤器,它可以从我的日志中为我提供键值对

来自日志的

样本条目

 ### Job is running on host vihlc1408 ###
 ### Total Number of CPUs: 24
 ### cpu MHz        : 2600.000
 set PREVIOUS_STEP plan
 plan
 set CURRENT_STEP  power
 power
 puts "\n#### Create new library ${MW}/${DESIGN}_lib_${CURRENT_STEP} and     open\n"

我有兴趣选择CPU MHz,PREVIOUS_STEP和CURRENT_STEP,然后将其提供给弹性搜索。

1 个答案:

答案 0 :(得分:0)

我建议编辑perl脚本,为sh这样的文件夹中的每个新路径创建软链接,其中logstash具有读取权限。

然后使用通配符/opt/log/添加logstash file输入过滤器以使用此目录。

path

这将以递归方式检查path =>"/opt/log/**/*" 内部并读取日志文件。

不知道这是否是最佳的,但我认为是可行的。