Кодек Logstash collectd получает пустые сообщения от collectd

Я пытаюсь настроить logstash с помощью кодека collectd. Это моя конфигурация:

collectd.conf

Hostname    "localhost"
LoadPlugin interface
LoadPlugin load
LoadPlugin memory
LoadPlugin network
<Plugin interface>
    Interface "eth0"
    IgnoreSelected false
</Plugin>
<Plugin network>
    <Server "127.0.0.1" >
    </Server>
</Plugin>

logstash.conf

input {
        udp {
                port => 25826
                buffer_size => 1452
                codec => collectd { }
                type => "collectd"
        }
}
output {
        stdout {}
}

но все, что я получаю в своем выводе logstash, это множество:

2015-03-05T22:06:35.802+0000 локальный хост %{сообщение}

Я предполагаю, что collectd должен отправлять мне события, но они пусты.


person Tim    schedule 05.03.2015    source источник


Ответы (2)


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

output {
    stdout {  codec => json }
}

Теперь все работает нормально

person Tim    schedule 06.03.2015
comment
Я установил collectd в своей локальной лаборатории. Но в моем эластичном поиске не создан индекс. Если возможно, поделитесь любой ссылкой, на которую вы ссылались, чтобы настроить это. У вас есть время, пожалуйста, проверьте эту ссылку и обновите свое предложение? Это очень помогло бы мне stackoverflow.com/ вопросы/31088662/ - person KMG; 27.06.2015

Вы также можете указать {codec => rubydebug} или {codec => json_lines}. Просто запись в простом формате по какой-то странной причине напечатает %{message}.

person Rohan Nahata    schedule 21.10.2015