Моя конфигурация:
input {
tcp {
port => 5544
codec => json_lines
}
}
output{
file {
path => "/tmp/%{source_host}"
}
}
выводит в файл/TMP/Foo с журн образца.
echo '{"version":"debug","host":"devel","level":5,"@version":"1","@timestamp":"2016-09-15T10:41:00.549Z", "source_host":"foo","message":"testmsg"}' | nc localhost 5544
EDIT: Вот мои результаты испытаний:
pancake$ echo '{"version":"debug","host":"devel","level":5,"@version":"1","@timestamp":"2016-09-15T10:41:00.549Z", "source_host":"foo","message":"testmsg"}' | nc localhost 5544
pancake$ cat /tmp/foo
{"version":"debug","host":"devel","level":5,"@version":"1","@timestamp":"2016-09-15T10:41:00.549Z","source_host":"foo","message":"testmsg","port":56716}
pancake$ echo '{"version":"debug","host":"devel","level":5,"@version":"1","@timestamp":"2016-09-15T10:41:00.549Z", "source_host":"bar","message":"testmsg"}' | nc localhost 5544
pancake$ echo '{"version":"debug","host":"devel","level":5,"@version":"1","@timestamp":"2016-09-15T10:41:00.549Z", "source_host":"bar","message":"one more message!"}' | nc localhost 5544
pancake$ cat /tmp/bar
{"version":"debug","host":"devel","level":5,"@version":"1","@timestamp":"2016-09-15T10:41:00.549Z","source_host":"bar","message":"testmsg","port":56717}
{"version":"debug","host":"devel","level":5,"@version":"1","@timestamp":"2016-09-15T10:41:00.549Z","source_host":"bar","message":"one more message!","port":56718}
EDIT 2: Оо, я просто подумал о чем-то. Вы сказали ранее, что вы не используете какие-либо фильтры, верно? Вам нужно использовать какой-либо фильтр, иначе поле source_host
не будет существовать. Если у вас есть codec => json_lines
(потому что ваши журналы JSON) в вашем блоке ввода, как и в моем примере, он проанализирует ваши JSON в парах значений ключа. Если у вас нет фильтра или кодека, весь блок журнала будет сохранен в поле message
без изменений. Попробуйте добавить входной кодек и посмотрите, поможет ли это.
Не могли бы вы разместить образец журнала и ваши фильтры? – fylie
Я не использую фильтры (еще не). Пример журнала: '{" version ":" debug "," host ":" devel "," level ": 5," @ version ":" 1 "," @ timestamp ":" 2016-09-15T10: 41: 00.549Z "," source_host ":" foo "," message ":" testmsg "}' – Philipp