我可以将Logstash配置为使用包含参数化日期的索引吗?

时间:2014-09-16 13:42:38

标签: elasticsearch logstash

我正在实施Logstash / Kibana / ElasticSearch,以提供一个用于查看我们的Apache日志的快速仪表板。到目前为止,我已经创建了一个附加了日志的索引,但我现在希望对索引进行分区,以便每天有一个索引。

目前我通过日常工作导入日志:

cat logfile.txt | /opt/logstash/bin/logstash --config apacheimport.conf

配置的output部分指定了索引:

output {
  elasticsearch {
    ...
    index => "apache"
    ...
  }
}

如何将其配置为使用指定日期(日期需要参数化,日志永远不会从当天开始,导入可以是过去的时间范围)。

或者,我只是在学习ElasticSearch的别名系统。是否存在Logstash始终写入apache别名并且elasticsearch内部确定正确索引的解决方案?任何引用或提示,如果这是可能的,那么将它作为另一种选择进行评估将是很好的。

1 个答案:

答案 0 :(得分:2)

我不相信有任何方法可以在命令行上传递它,但你可以这样做:

filter { 
  ruby {
    code => 'event["file"] = ENV["SOME_ENV_VAR_NAME"]'
  }
}

然后你可以编写一个包装器脚本来设置/导出SOME_ENV_VAR_NAME并调用logstash。