6

Logstash にインポートしようとしているログ ファイルには、日付/時刻のように見えるフィールドとそうでないフィールドが含まれています。残念ながら、最初のオカレンスは日付/時刻のように見え、誰か (logstash または elasticsearch) がフィールドを日付/時刻として定義することにしました。後のログ レコードをインポートしようとすると、Elasticsearch には例外があります。

Failed to execute [index ...]  
org.elasticsearch.index.mapper.MapperParsingException: Failed to parse [@fields.field99]  
at org.elasticsearch.index.mapper.core.AbstractFieldMapper.parse(AbstractFieldMapper.java:320)  
at org.elasticsearch.index.mapper.object.ObjectMapper.serializeValue(ObjectMapper.java:587)  
...  
Caused by: java.lang.IllegalArgumentException: Invalid format: "empty"  
at org.elasticsearch.common.joda.time.format.DateTimeFormatter.parseMillis(DateTimeFormatter.java:747)  
...  

質問: このフィールドを日付/時刻として定義しないように logstash/elasticsearch に指示するにはどうすればよいですか? ログのすべてのフィールド (1 つの明示的なタイムスタンプ フィールドを除く) を単なるテキストとして定義したいと考えています。

質問: エラスティックサーチが例外をスローするこのレコードを確認した後、logstash がログ ファイルからレコードをインポートしようとするのをあきらめたようです。この例外を無視してログ ファイルから他のレコードのインポートを試行し続けるように logstash に指示するにはどうすればよいですか?

4

1 に答える 1