Добавление содержимого csv в существующий индекс logstash

У меня есть папка, в которую пользователь будет продолжать добавлять CSV-файлы для logstash. Пользователь будет ежедневно добавлять CSV-файлы в эту папку. CSV-файлы будут иметь такие имена, как yyyymmdd-dailyUsageData.csv, т. е. имя файла содержит несколько начальных символов даты. Содержимое CSV-файла снова будет иметь это значение Date и некоторые другие столбцы, например Date, colA, colB, colC и т. д. Требование состоит в том, чтобы ежедневно загружать содержимое CSV-файлов в logstash/elasticSearch, чтобы создавать визуализации в kibana.

Хотя я могу сделать это для одного CSV-файла, я не уверен, как я могу добавить содержимое CSV-файла следующего дня, имя которого имеет другую отметку времени, к уже созданному индексу. Ниже приведен пример файла conf, который я создал:

 input {
      file {
        path => "/etc/logstash/20160302-dailyUsageData.csv"
        type => "usageData"
        start_position => "beginning"
        sincedb_path => "/home/ec2-user/mysincedbfile"
      }
    }
    filter {
      csv {
          separator => ","
          columns => ["Date","colA", "colB"]
      }
      mutate {convert => ["colA", "integer"]}
      mutate {convert => ["colB", "float"]}
    }
    output {  
        elasticsearch {
            action => "index"
            hosts => "localhost:9200"
            index => "dailyUsage"
        workers => 1
        }
        stdout {}
    }

person user5917011    schedule 22.04.2016    source источник


Ответы (1)


Ваш file ввод может просто использовать шаблон для path вместо одного файла

  file {
    path => "/etc/logstash/*.csv"
    type => "usageData"
    start_position => "beginning"
    sincedb_path => "/home/ec2-user/mysincedbfile"
  }
person Val    schedule 22.04.2016
comment
Да, это работает..Спасибо..Однако любые изменения в существующих файлах csv не отражаются (в кибане)..Вступают в силу только добавления, т.е. вставка новых строк в существующие файлы csv. Любые предложения о том, как заставить работать приложения? - person user5917011; 22.04.2016
comment
Это из-за файла с базой данных, который отслеживает, какие строки уже были обработаны. Вы, вероятно, хотите перерабатывать все строки при каждом изменении? - person Val; 22.04.2016
comment
Да, если мне нужно обработать все строки или только измененные строки, как это сделать? - person user5917011; 22.04.2016