我試圖導入Logstash的日誌文件包含有時看起來像日期/時間的字段,有時看起來不像。不幸的是,第一次發生看起來像日期/時間,某人(logstash或elasticsearch)決定將該字段定義爲日期/時間。當試圖導入以後的日誌記錄,Elasticsearch有一個例外:Logstash/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不定義這個領域的日期/時間?我希望我的日誌中的所有字段(除了一個顯式時間戳字段)都被定義爲文本。
問題:看到logstash放棄嘗試從日誌文件中導入記錄,看到這個elasticsearch引發異常之後。我如何告訴logstash忽略這個異常,並不斷嘗試從日誌文件中導入其他記錄?
就是這樣!也許你可以把你的答案作爲真正的答案而不是問題本身,這是值得的。 – javanna
因爲我是一個聲譽不好的noob,所以stackoverflow不會讓我在回答自己的問題後很快回答:D – allen
在等待所需的時間回答我的問題後,我能夠將答案移動到下面的正確答案自己的問題。 – allen