отправить json сообщение из filebeat в logstash - PullRequest
0 голосов
/ 23 апреля 2019

Я хотел бы отправлять сообщения в формате json в logstash через filebeat.

Я могу отфильтровать каждое значение ключа в json, написав в filebeat следующее:

  json.keys_under_root: true
  json.add_error_key: true
  json.message_key: message

Однако, нескольколиния не может быть обработана.Как я могу получить многострочное?

И, можно ли избавиться от полей, которые добавляются в filebeat по умолчанию?Я хочу удалить метаданные из filebeat.Я хочу получать только информацию, которую я посылаю из logstash.Прямо как в файле.Разве нет пути ??

{"1": "val1" ,"2": "val2" ,"3": "val3\nval3\nval3" }

1 Ответ

0 голосов
/ 23 апреля 2019

Ваш вопрос не о многолинейности. Я думаю, что нам нужно больше контекста, однако вы должны посмотреть документацию по плагину фильтра json: https://www.elastic.co/guide/en/logstash/current/plugins-filters-json.html

Ваш конвейер logstash должен выглядеть следующим образом:

input {
    beats {
        port => 'xxxx'
    }
}

filter {
    json {
        source => "message"
    }
    mutate {
        # put the terms you want to exclude from your metadata on the "remove_field" array
        remove_field => ["beat","input","prospector","offset"]
    }

}

output {
[...]
}
...