Timestampにログ日付を設定するが時刻がずれる

logstashのフィルターで下記の設定をしております。

grokで「TIMESTAMP_ISO8601:timestamp」でログ内の日付を取得

下記で@timestampにログ内の日付を設定
date {
match => [ "timestamp", "ISO8601" ]
}

上記のように設定したところ、以下の日付ファイルが取り込まれた時に
時刻がずれていました。

ログの日付 2019-12-02T04:03:11.229Z
@timestampの日付 Dec 2, 2019 @ 13:03:11.229

どうすればログの日付で取得できるかご教示ください。

具体的にどのような文字列がtimestampに入ってますでしょうか?

2019-11-29T20:36:37+09:00
2019-11-29T20:36:37

おそらくタイムゾーン設定がない文字列になっているのではないかと思います。
日本時間の文字列であれば、dateでtimezoneを指定いただくと良いのではと考えます。

filter {
    date {
        match => [ "hogehoge", "ISO8601" ]
        timezone => "Asia/Tokyo"  # ←ここ
        target => "converted_field"
    }
}

timezoneが9時間プラスされて見えるのは、Kibanaの画面で確認しているからではないかと思います。
もし違ってたらすみません。

1 Like

おっしゃる通りKibanaの画面で確認しているため、9時間プラスされた時間で表示されていました。
elasticsearchにはきちんと時間が取れていたので問題ありませんでした。ご回答いただきありがとうございました。

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.