Я использую rsyslog для просмотра моих системных журналов и отправки их в Logstash + Kibana.Отправить JSON от rsyslog до Kibana
Мои сообщения системного журнала регистрируются как JSON. Они могут выглядеть примерно так:
{"foo":"bar", "timegenerated": 43843274834}
конфигурации Rsyslog, как так:
module(load="omelasticsearch")
#define a template to print all fields of the message
template(name="messageToES" type="list" option.json="on") {
property(name="msg")
}
*.* action(type="omelasticsearch"
server="localserverhere"
serverport="80"
template="messageToES")
Kibana прекрасно, так как если я запускаю команду CURL к нему, он получает запись. Код, как показано ниже:
curl -XPOST myserver/test/bar -d '{"test": "baz", "timegenerated":1447145221519}'
Когда я бегу rsyslogs и направьте его на фиктивный сервер, я могу видеть входящие запросы с действительным JSON. Однако, когда я указываю его на мой сервер журнала, он не отображается в logstash или kibana.
Кто-нибудь знает, как отправить syslogs как json в Kibana/logstash?
Вы не «отправляете» что-либо в кибану, а отправляете его в поиск elastics и даете кибане запросить его для вас. –
Проверьте журналы логсташа и elasticsearch. Добавьте stdout {} вывод строки в logstash, чтобы узнать, что он думает. Включение отладки в logstash (флаг командной строки). –