簡體   English   中英

Logstash 當前日期 logstash.conf 作為 backup_add_prefix(s3 輸入插件)

[英]Logstash current date logstash.conf as backup_add_prefix (s3 input plugin)

我想將當前日期添加到傳入我的 s3 存儲桶的每個文件名中。

我當前的配置如下所示:

input {
  s3 {
    access_key_id => "some_key"
    secret_access_key => "some_access_key"
    region => "some_region"
    bucket => "mybucket"
    interval => "10"
    sincedb_path => "/tmp/sincedb_something"
    backup_add_prefix =>'%{+yyyy.MM.dd.HH}'
    backup_to_bucket => "mybucket"
    additional_settings => {
      force_path_style => true
      follow_redirects => false
                }
  }
}

有沒有辦法在 backup_add_prefix =>'%{+yyyy.MM.dd.HH}' 中使用當前日期,因為當前的語法在它產生時不起作用:“ %{+yyyy.MM.dd.HH}test_file .txt”在我的存儲桶中。

雖然在s3輸入插件中不直接支持,但可以實現。 使用以下步驟:

  1. 轉到 logstash 主路徑。
  2. 打開文件vendor/bundle/jruby/2.3.0/gems/logstash-input-s3-3.4.1/lib/logstash/inputs/s3.rb 確切的路徑將取決於您的 lagstash 版本。
  3. 尋找方法backup_to_bucket
  4. 有一行backup_key = "#{@backup_add_prefix}#{object.key}"
  5. 在上述行之前添加以下行:

    t = Time.new date_s3 = t.strftime("%Y.%m.%d")

  6. 現在將backup_key更改為#{@backup_add_prefix}#{date_s3}#{object.key}

現在你完成了。 重新啟動您的 logstash 管道。 它應該能夠達到預期的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM