Logsta sh текущая дата logsta sh .conf в качестве backup_add_prefix (плагин ввода s3) - PullRequest
0 голосов
/ 15 января 2020

Я хочу добавить текущую дату к каждому имени файла, которое входит в мое ведро 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" в моем контейнере.

1 Ответ

0 голосов
/ 05 апреля 2020

Хотя это не поддерживается напрямую в плагине ввода s3, этого можно достичь. Выполните следующие действия:

  1. Go для входа в систему sh домашний путь.
  2. Откройте файл vendor / bundle / jruby / 2.3.0 / gems / logsta sh -input-s3-3.4.1 / Библиотека / logstash / входы / s3.rb . Точный путь зависит от вашей версии lagsta sh.
  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 на # enj@backup_add_prefix угадываемой *

Теперь все готово. Перезапустите ваш logsta sh конвейер. Должен быть в состоянии достичь желаемого результата.

...