フィルター - Amazon CloudWatch ログ

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

フィルター

filter を使用して、1 つ以上の条件に一致するログイベントを取得します。

例: 1 つの条件を使用してログイベントをフィルタリングする

コードスニペットは、range の値が 3000 より大きいすべてのログイベントを返すクエリの例を示します。このクエリは、結果を 20 個のログイベントに制限し、ログイベントを @timestamp 別に降順で並べ替えます。

fields @timestamp, @message | filter (range>3000) | sort @timestamp desc | limit 20

例: 複数の条件を使用してログイベントをフィルタリングする

キーワード and および or を使用して、複数の条件を組み合わせることができます。

コードスニペットは、range の値が 3000 より大きく、accountId の値が 123456789012 に等しいログイベントを返すクエリの例を示します。このクエリは、結果を 20 個のログイベントに制限し、ログイベントを @timestamp 別に降順で並べ替えます。

fields @timestamp, @message | filter (range>3000 and accountId=123456789012) | sort @timestamp desc | limit 20

フィルターコマンドの一致と正規表現

フィルターコマンドは、正規表現の使用をサポートします。以下の比較演算子 (=!=<<=>>=) とブール演算子 (andor、および not) を使用できます。

キーワード in を使用して集合要素関係をテストし、配列内の要素をチェックできます。配列の要素をチェックするには、in の後に対象の配列を配置します。ブール演算子 not および in を使用できます。in を使用するクエリを作成して、フィールドに文字列の一致があるログイベントを返すことができます。フィールドは完全な文字列でなければなりません。例えば、次のコードスニペットは、フィールド logGroup が完全な文字列 example_group であるログイベントを返すために in を使用するクエリを示しています。

fields @timestamp, @message | filter logGroup in ["example_group"]

キーワードフレーズ like および not like を使用して、部分文字列を一致させることができます。正規表現の演算子 =~ を使用して部分文字列を一致させることができます。like および not like で部分文字列を一致させるには、単一引用符または二重引用符で一致させたい部分文字列を囲みます。正規表現パターンは、like および not like と共に使用できます。部分文字列を正規表現の演算子と一致させるには、一致させたい部分文字列をスラッシュで囲みます。次の例には、filter コマンドを使用して部分文字列を照合する方法を示すコードスニペットが含まれます。

例: 部分文字列の一致

以下の例では、f1 に単語 Exception が含まれているログイベントを返します。これら 3 つの例すべてで、大文字と小文字が区別されます。

最初の例では、部分文字列を like と一致させます。

fields f1, f2, f3 | filter f1 like "Exception"

2 番目の例では、部分文字列を like および正規表現パターンと一致させます。

fields f1, f2, f3 | filter f1 like /Exception/

3 番目の例では、部分文字列を正規表現と一致させます。

fields f1, f2, f3 | filter f1 =~ /Exception/

例: 部分文字列をワイルドカードと一致させる

ピリオド記号 (.) を正規表現のワイルドカードとして使用して、部分文字列に一致させることができます。次の例では、クエリは f1 の値が文字列 ServiceLog で始まる一致を返します。

fields f1, f2, f3 | filter f1 like /ServiceLog./

ピリオド記号 (.*) の後にアスタリスク記号を置いて、できるだけ多くの一致を返す貪欲な量指定子を作成することができます。例えば、次のクエリは f1 の値が文字列 ServiceLog で始まるだけでなく、文字列 ServiceLog も含む一致を返します。

fields f1, f2, f3 | filter f1 like /ServiceLog.*/

考えられる一致は、次のようにフォーマットされている可能性があります:

  • ServiceLogSampleApiLogGroup

  • SampleApiLogGroupServiceLog

例: 一致から部分文字列を除外する

次の例は、f1Exception という単語が含まれないログイベントを返すクエリを示しています。この例では大文字と小文字が区別されます。

fields f1, f2, f3 | filter f1 not like "Exception"

例: 大文字と小文字を区別しないパターンで部分文字列を一致させる

大文字と小文字を区別しない部分文字列を、like および正規表現と一致させることができます。次のパラメータ (?i) を、一致させる部分文字列の前に配置します。次の例は、f1 に単語 Exception または exception が含まれるログベントを返すクエリを示しています。

fields f1, f2, f3 | filter f1 like /(?i)Exception/