Нужен совет в logstash для динамического вывода имени файла CSV на основе еженедельной отметки времени - PullRequest
0 голосов
/ 30 июня 2019

Итак, я делаю автоматизацию вывода в формате csv, где я хочу, чтобы мой экспортированный файл csv был назван как

**data-2019.07.01.csv**

но присвоение имени / создание нового файла происходит только каждый понедельник (еженедельно), поэтому файл будет содержать данные с 1 по 7 июля, и следующий понедельник logstash создаст:

data-2019.07.08.csv (will contain data from july 8th-14th).

Может быть, странно, но я думаю, что добавляю новое поле со значением день года, например: день: "Пн"

поэтому, когда наступит понедельник, результат будет примерно таким: path => "/tmp/data-%ndom+yyyy.MM.dd rout"

но в другой день вроде: день: «Вт»

вывод будет таким: path => "/tmp/data-%ndom+yyyy.MM.(dd-1) rout"

Весь вывод будет выглядеть так:

output {
  if [day] == "Mon"
    csv {
      path => "/tmp/data-%{+yyyy.MM.dd}"
    }
  } else if [day] == "Tue" {
    csv {
      path => "/tmp/data-%{+yyyy.MM.(dd-1)}"
    }
  } else if [day] == "Wed" {
    csv {
      path => "/tmp/data-%{+yyyy.MM.(dd-2)}"
    }
  }  ... and so on
}

* Еще лучше, если файл может быть назван data-2019.07.01-2019.07.07.csv .

Это возможно? Надеюсь, кто-то может помочь. Заранее спасибо.

...