翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
フィルター
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
フィルターコマンドの一致と正規表現
フィルターコマンドは、正規表現の使用をサポートします。以下の比較演算子 (=
、!=
、<
、<=
、>
、>=
) とブール演算子 (and
、or
、および 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
例: 一致から部分文字列を除外する
次の例は、f1
に Exception という単語が含まれないログイベントを返すクエリを示しています。この例では大文字と小文字が区別されます。
fields f1, f2, f3 | filter f1 not like "Exception"
例: 大文字と小文字を区別しないパターンで部分文字列を一致させる
大文字と小文字を区別しない部分文字列を、like
および正規表現と一致させることができます。次のパラメータ (?i) を、一致させる部分文字列の前に配置します。次の例は、f1
に単語 Exception または exception が含まれるログベントを返すクエリを示しています。
fields f1, f2, f3 | filter f1 like /(?i)Exception/