Поток spooldir для получения метаданных файла исходного файла

#flume #flume-ng

#поток #поток-ng

Вопрос:

У меня есть требование, согласно которому для каждого события потока я должен добавлять имя файла и дату создания файла в spooldir directoy. Я обнаружил, что могу добавить имя файла в заголовок события, установив FileHeader=true . Аналогичным образом я могу также найти дату создания файла, написав какой-нибудь пользовательский перехватчик?

Комментарии:

1. вы получили какой-либо ответ

Ответ №1:

Имя файла задается в исходной реализации Spool:

 if (annotateFileName) {
  String filename = currentFile.get().getFile().getAbsolutePath();
  for (Event event : events) {
    event.getHeaders().put(fileNameHeader, filename);
  }
}
  

Это конкретная деталь реализации этого исходного типа. Если вы хотите сохранить имя исходного файла, вам необходимо установить свойство, вот доступные параметры:

 fileHeader  false   Whether to add a header storing the absolute path filename.
fileHeaderKey   file    Header key to use when appending absolute path filename to event header.
  

Если вы хотите добавить временную метку, вы можете использовать встроенные перехватчики:

  • TimestampInterceptor для метки времени
  • Перехватчик хоста для имени хоста экземпляра flume
  • StaticInterceptor для любого постоянного значения.