インデックス テンプレートを更新して、エポックと ISO8601 の日付形式を Elasticsearch のマッピング レベルで直接許可するようにしました。これにより、@timestamp フィールドがオーバーライドされます。これまでのところ、私は運がありませんでした。私のテンプレートはhttp://pastebin.com/1DCT6GfMで見ることができます。
基本的に、json ログが Logstash によって解析されると、Elasticsearch はそれらのフィールドを認識し、@timestamp フィールドを自動的に更新します。潜在的なログ イベントの例は次のとおりです。
{"timestamp_epoch": "1432146610", "message": "This is a test message to test epoch timestamp events", "category": "testing", "country": "EU"}
また
{"timestamp_iso8601": "2015-05-20T14:30:20-05:00", "message": "This is a test message to test epoch timestamp events", "category": "testing", "country": "US"}
timestamp_epoch
そのテンプレートの他のすべてのマッピングは、とを除いて正常に機能することに注意してくださいtimestamp_iso8601
。@timestamp が適切な値に更新されていないため、これら 2 つのマッピングが有効になっていないことがわかります。
生のサンプル Elasticsearch エントリのいくつかは、http: //pastebin.com/HmtmNNAbで確認できます。
timestamp_iso8601のタイプは に更新されていますが、@timestampdate
フィールドとtimestamp_epochが日付ではなく文字列に設定されていることを上書きしていません。
誰かが私が間違っていることを正確に明確にしていただければ幸いです。
ありがとう!