Я пытаюсь создать форвардер 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}
Может кто-нибудь указать на то, что я делаю не так?
Прошла дискуссия по группе logstash google и сделала то же заключение. Я открыл билет 1091, прежде чем увидеть этот ответ. Это по-прежнему правильный ответ, хотя - спасибо. – Symmetric