logstash, если оператор в выводе

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

input {
  file {
    path => "/home/user/log/*"
    type => "test1"
    start_position => "beginning"
  }
}

output {
  syslog {

    host => "server.com"

    if [type] == "test1" {
      port => 5555
    }

    severity => "informational"
    facility => "syslogd"
  }
}

Ошибка:

Error: Expected one of #, => at line 14, column 8 (byte 168) after output {
  syslog {

    host => "server.com"

    if

logstash работает на Ubuntu:

apt --installed list|grep logstash
logstash/stable,now 1.4.3-1-7e387fb all [installed]

person linuxfix    schedule 25.06.2015    source источник


Ответы (1)


Я нашел проблему. Мне нужно было переместить «системный журнал» следующим образом:

output {
  if [type] == "test1" {
    syslog {
      host => "server.com"
      port => 5555
      severity => "informational"
      facility => "syslogd"

    }
 }
}
person linuxfix    schedule 25.06.2015