filterIndex - Amazon CloudWatch Logs

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

filterIndex

を使用してインデックス付きデータのみを返filterIndexすには、クエリで指定したフィールドでインデックスが付けられたロググループのみをスキャンするようにクエリに強制します。このフィールドでインデックス付けされるこれらのロググループの場合、インデックス付けされたフィールドのクエリで指定された フィールドを含むログイベントを持たないロググループをスキップすることで、クエリをさらに最適化します。このフィールドインデックスのクエリで指定された値と一致するロググループのログイベントのみをスキャンすることで、スキャンされたボリュームをさらに削減します。フィールドインデックスとその作成方法の詳細については、「」を参照してくださいフィールドインデックスを作成してクエリのパフォーマンスを向上させ、スキャンボリュームを削減する

インデックス付きフィールドfilterIndexで を使用すると、フィールドインデックスを持つロググループとログイベントに実際の検索スペースを制限することで、ペタバイトのログデータを含むロググループを効率的にクエリできます。

たとえば、アカウントの一部のロググループIPaddressで のフィールドインデックスを作成したとします。その後、次のクエリを作成し、アカウント内のすべてのロググループをクエリして、 IPaddress フィールド198.51.100.0の値を含むログイベントを検索できます。

fields @timestamp, @message | filterIndex IPaddress = "198.51.100.0" | limit 20

filterIndex コマンドにより、このクエリは のインデックスが作成されていないすべてのロググループをスキップしようとしますIPaddress。さらに、インデックスが作成されたロググループ内では、クエリは IPaddressフィールドを持つが、そのフィールドの値198.51.100.0として観測されないログイベントをスキップします。

IN 演算子を使用して、インデックス付きフィールドの複数の値のいずれかに結果を展開します。次の例では、 IPaddress フィールド198.51.100.1で 値198.51.100.0または 値を含むログイベントを検索します。

fields @timestamp, @message | filterIndex IPaddress in ["198.51.100.0", "198.51.100.1"] | limit 20

CloudWatch Logs は、標準ログクラスのすべてのロググループのデフォルトのフィールドインデックスを提供します。デフォルトのフィールドインデックスは、次のフィールドで自動的に使用できます。

  • @logStream

  • @aws.region

  • @aws.account

  • @source.log

  • traceId

デフォルトのフィールドインデックスは、ポリシー内で定義したカスタムフィールドインデックスに追加されます。デフォルトのフィールドインデックスは、フィールドインデックスクォータにはカウントされません。

filterIndex と filter の比較

filterIndex と の違いを説明するためにfilter、次のクエリ例を検討してください。のフィールドインデックスを 4 つのロググループ用に作成したがIPaddress、5 番目のロググループには作成していないとします。を使用する次のクエリfilterIndexは、 フィールドのインデックスが付けられていないロググループのスキャンをスキップします。インデックス付きロググループごとに、インデックス付きフィールドを持つログイベントのみをスキャンしようとします。また、フィールドインデックスの作成後に からの結果のみを返します。

fields @timestamp, @message | filterIndex IPaddress = "198.51.100.0" | limit 20

対照的に、同じ 5 つのロググループのクエリfilterIndexfilter の代わりに を使用する場合、クエリはインデックス付きロググループの値を含むログイベントだけでなく、インデックス化されていない 5 番目のロググループをスキャンし、その 5 番目のロググループ内のすべてのログイベントをスキャンします。

fields @timestamp, @message | filter IPaddress = "198.51.100.0" | limit 20