Logstashの "2016-08-22T09:09:55.487Z"形式からUNIX時刻に変換することはできますか?私は反対の操作を見てきましたが、それについては何もしていません。Logstashで日付をUNIX時刻に変換する
答えて
まず、あなたは日付フィルタで、日付オブジェクトに"2016-08-22T09:09:55.487Z"
を変換する必要があります:
は この時点で
date {
match => ["date", "ISO8601"]
target => "date_object"
}
(フィールドdate
が有効ISO8601タイムスタンプを表す文字列が含まれていることを想定します)ログスタッシュのタイムスタンプを含むフィールドdate_object
が表示されます。 このタイムスタンプは、to_i
メソッドを使用して、対応するエポックに変換できます。
これを行うには、ルビーコードをフィルタとして実行できるようにするルビフィルタを使用する必要があります。
ruby {
code => "event['date_epoch'] = event['date_object'].to_i"
}
次に、date_epoch
というフィールドがあります。これは、UNIXの時刻を表す数字になります。
今日も同様の問題が発生しました。
ルビ{
コード=>「イベント[ 『date_epochを』] =イベント[ 『date_object』]:残念ながら、上記設定の平和は、整数変換時のタイムスタンプからミリ秒を失うという制限を有しています.to_i」
}
私は戻って、文字列に、その後、フロートする日付オブジェクトを変換する1000年を掛けるとを含むいくつかのオプションを試してみました。要するに、精度はまったく同じではありませんでした。
最後に、私はこれ以下のビットハックのサンプルを思いついた。これはlogstashバージョン2.4.1で動作しました。 、Rubyコードの平和は、標準的なルビーDateTime書式に文字列をキャストする
mutate{
add_field => ["tmpTimestamp","%{@timestamp}"]
}
(エポック形式に変換: だから最初に私は、プレーン文字列に解析されたタイムスタンプを変換するために、フィールドtmpTimestamp
を作成しますStringに当時のMSを含む)と:
ruby { code => "require 'date';event['epoch'] = DateTime.parse(event['tmpTimestamp']).strftime('%Q').to_s" }
は、未使用のTMP変数を削除します。
mutate{
remove_field => ["tmpTimestamp"]
}
一般的なRuby日付のエポックへの変換については、こちらを参照してください。 https://stackoverflow.com/a/14733261/2695332 日付入力はタイムスタンプ全体である必要はありません。 MM/DD/YYYYやMM-DD-YYYYなどの形式の日付でもかまいません。 – Vikas
- 1. 変換スタンプ/日付時刻
- 2. 日付時刻変換
- 3. Informatica日付/時刻変換
- 4. ダニを日付時刻に変換
- 5. 日付と時刻の列を.csvのunixタイムスタンプに変換する
- 6. MySQLの日付/時刻文字列をunixタイムスタンプに変換する
- 7. UTC時刻文字列をUnix時刻に変換する
- 8. 日付と日付をSQLの日付と時刻に変換する
- 9. パンダ、pd.to_datetime()、日時を日付時刻に変換
- 10. 有効なジョーダ時間(@タイムスタンプ)に日付を変換するLogstash
- 11. UTCの日付時間をメキシコの日付時刻に変換する方法
- 12. ctime()と日付/時刻変換
- 13. SASの日付と時刻の変換
- 14. SQL Serverの日付時刻の変換
- 15. Azureストリーム解析でUnix時間を日付に変換する
- 16. Unixの時刻をローカルの日時に変換するSQL Serverの機能
- 17. 共有時刻の日付時刻リストフィールドの表示と変換
- 18. 日付時刻形式をvb.netで変換する
- 19. 日付時刻をDateTimeKindで変換するutcからローカル
- 20. Sitecoreのnvarcharの日付表現をSQLの日付時刻に変換する
- 21. タイムスタンプを日付と時刻に変換する
- 22. ミリ秒を日付/時刻に変換する
- 23. Python DateUtil文字列を日付と時刻に変換する
- 24. 文字列を日付時刻に変換する
- 25. java - 日付文字列をUTC時刻に変換する
- 26. SQL:20071117183011を日付/時刻に変換する(
- 27. XSLT 1.0:日付/時刻をローカルタイムゾーンに変換する
- 28. Long Intタイムスタンプを日付/時刻に変換する
- 29. JSONの日付/時刻をC#に変換するDateTime
- 30. pytz - 将来の日付時刻をUTCに変換する
あなたはUNIX時間を依頼するときは、EXPを示している可能性があり間違った出力?数字や文字列を期待していますか? – baudsp
@baudsp、私は次のような数字を期待しています:1431607046 – Anatoly