Could not index event to Elasticsearch. {:status=>400, :action=>["index", {:_id=>nil, :_index=>"buildlog4", :_type=>"_doc", :routing=>nil}, #<LogStash::Event:0x49522875>], :response=>{"index"=>{"_index"=>"buildlog4", "_type"=>"_doc", "_id"=>"tmgaz20Bp3jq-MOqGvqp", "status"=>400, "error"=>{"type"=>"mapper_parsing_exception", "reason"=>"failed to parse field [host] of type [text] in document with id 'tmgaz20Bp3jq-MOqGvqp'. Preview of field's value: '{name=elk.mydomain.com}'", "caused_by"=>{"type"=>"illegal_state_exception", "reason"=>"Can't get text on a START_OBJECT at 1:357"}}}}}
Там, в принципе, все написано, только надо внимательно прочитать.
Ошибка:
"Could not index event to Elasticsearch.
Значит что logstash послал сообщение на индексацию, но Elasticsearch это сообщение не принял. Почему?
"reason"=>"failed to parse field [host] of type [text] in document with id 'tmgaz20Bp3jq-MOqGvqp'.
То есть у нас был документ с id mgaz20Bp3jq-MOqGvqp, и в нем было поле host, которое Elasticsearch пытался интерпретировать как текст но не смог. Что же в этом поле такое было?
То по идее можно ли переименовать поля в индексе postfix ? Например если host нельзя, то server. Если да, то как это сделать ?
Вот конфиг logstash для индекса postfix https://pastebin.com/k6rnyjE3
Я так понимаю, что host у вас добавляется одним из beat-ов. Это приложение также устанавливает шаблоны индексов, которые это поле должны правильно настроить. А также дашборды, которые эти поля используют. Вы конечно, можете все это дело взять в свои руки, если хотите.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.