2013-05-14 2 views
1

Я пытаюсь создать форвардер syslog в Logstash, который будет читать сообщения syslog (или другой формат) и выводить syslog.Использование сгенерированного поля в выводе logstash

Вот мой выходной конфигурации:

output { 
    stdout { debug => true debug_format => "json"} 
    syslog { 
     appname => "gulfstream" 
     facility => "daemon" 
     host => "127.0.0.1" 
     port => "514" 
     protocol => "tcp" 
     severity => "%{severity}" 
    } 
} 

А вот сообщение пример журнала:

{"@source":"file://ubuntu/etc/nbase/gs-switch-1/g150.log","@tags":[],"@fields":{"severity":["error"],"message":["eb3|9ac47fc nbstub.py:_refresh_socket 5 abxc"]},"@timestamp":"2013-05-14T18:35:13.095Z","@source_host":"ubuntu","@source_path":"/etc/nbase/gs-switch-1/g150.log","@message":"E 2013-05-13 16:47:15,1265 eb3|9ac47fc nbstub.py:_refresh_socket 5 abxc","@type":"gs-switch"} 

Обратите внимание на раздел "@fields":{"severity"}. Я также попытался severity => %{@fields.severity} и %{severity}, но во всех случаях я получаю ошибку:

Invalid setting for syslog output plugin: 

    output { 
    syslog { 
     # This setting must be a ["emergency", "alert", "critical", "error", "warning", "notice", "informational", "debug"] 
     # Expected one of ["emergency", "alert", "critical", "error", "warning", "notice", "informational", "debug"], got ["%{@message}"] 
     severity => ["%{severity}"] 
     ... 
    } 
    } {:level=>:error} 

Может кто-нибудь указать на то, что я делаю не так?

ответ

1

Я не думаю, что функциональность, которую вы ищете, в настоящее время реализована. Я вижу необходимость в нем и добавил билет, чтобы его получить. Проверьте здесь LOGSTASH-1090

+0

Прошла дискуссия по группе logstash google и сделала то же заключение. Я открыл билет 1091, прежде чем увидеть этот ответ. Это по-прежнему правильный ответ, хотя - спасибо. – Symmetric

 Смежные вопросы

  • Нет связанных вопросов^_^