Конфигурирование файла logstash.conf для создания нескольких индексов при наличии одного входа, содержащего несколько источников - PullRequest
0 голосов
/ 26 сентября 2019

Моя цель - выводить отфильтрованные данные в разные индексы.В моем файле logstash.conf у меня есть один вход, который получает данные из нескольких файлов журналов, а затем я фильтрую данные следующим образом:

 filter {
    if ([source] ~= "examiner.log") {
       json {
       source => "message"
       add_tag => ["EXAMINER"]
       }
   } else if ...
      ...
   }
}

Мой вывод выглядит так:

output {
 if ("EXAMINER" in [tags]) {
    elasticsearch {
    host => ["localhost:9200"]
    index = "examiner"
    } 
 } else {
     elasticsearch {
     host => ["localhost:9200"]
     index => "data"
     }
  }
}

Индекс данных создается, но эксперт никогда не создает.Я не уверен, почему условие не работает.

Пример моих входных данных:

{"@timestamp":"2019-09-27T20:42:12.254Z", "source_host":"WINL12345678", "file":"AppStarter.scala", "method":"start", "level":"INFO", "line_number":"34", "thread_name":"pool-1-thread-1", "@version":"1", "logger_name":"org.http4s.server.AppStarter", "message":"Application is running", "class":"org.http4s.server.AppStarter$class", "mdc":{}} 
...