web-dev-qa-db-ja.com

AWS Cloudwatch Logs Insightsでタイムスタンプクエリでフィルタリングする

ラムダ関数のかなり古いログを検索するために、AWS Cloudwatch Logsインサイトを使用しようとしています。私は AWSドキュメントのこのガイド を読んでいますが、タイムスタンプでフィルタリングする方法が文書化されていません。私は以下を試しました:

fields @timestamp, @message
| filter @timestamp > '2019-12-04T18:09:10.000+01:00'
| limit 200
| sort @timestamp desc

しかし、機能しません(0件の結果を返します)。

最初に、ロググループをタイムスタンプ列でソートする方法があるかどうかを調べようとしていました(デフォルトのロググループ名ではなく) 2015年からのこの機能リクエスト =-これはeu-west-1では解決されておらず、新しいログインサイトを使用するよう提案されていますが、これを機能させることはできません。

タイムスタンプでログをフィルタリングする方法を知っている人はいますか、それともCloudwatchのログインサイトでこれが可能かどうかを知っていますか?

ありがとう!

6
babis21

タイムスタンプのフィルタリングは、Logs Insights Consoleの右上にある範囲セレクター、または StartQuery APIstartTimeおよびendTimeパラメーターを使用して行われます。

ミリ秒単位のタイムスタンプ値を使用してさらにフィルタリングできます(例については下記を参照)。ただし、全体の範囲は、クエリ自体で使用している範囲よりも広い必要があります。

fields @timestamp, @message
| fields tomillis(@timestamp) as millis
| filter millis > 1578182400000  # Sunday, 5. January 2020 0:00:00
     and millis < 1578268800000  # Sunday, 6. January 2020 0:00:00
6
Dejan Peretin