Отфильтруйте конкретное сообщение с помощью logstash перед отправкой в ​​ElasticSearch

Мне хотелось узнать, можно ли отправлять только определенные сообщения журнала в elasticsearch через logstash? Например, допустим, у меня есть эти сообщения в моем файле журнала:

2015-08-14 12:21:03 [31946] PASS  10.249.10.70  http://google.com
2015-08-14 12:25:00 [2492]  domainlist \"/etc/ufdbguard/blacklists\
2015-08-14 12:21:03 [31946] PASS 10.249.10.41 http://yahoo.com

Мне хотелось пропустить вторую строку, когда logstash/log forwarder обрабатывает этот журнал, можно ли дать ему указание пропускать любое сообщение журнала с ключевым словом «domainlist»? Или разрешить только сообщения журнала с ключевым словом «PASS»?


person Hyder B.    schedule 03.09.2015    source источник


Ответы (2)



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

output {
  if "PASS" in [message] {
    elasticsearch {
      ...
    }
  }
}
person Hyder B.    schedule 10.09.2015