AWS CloudWatch Logsのメトリクスフィルターの基本操作
ANDパターンマッチング
スペース区切りでキーワードを入力する。
ちなみに、大文字小文字の区別があるので両方フィルタリングしたい場合は、大文字小文字表記を両方のせる。
ex)
フィルター:ERROR request
フィルタリング結果:
[ERROR] Unable to continue: Failed to process the request
ORパターンマッチング
スペース区切りでキーワードの頭に?
を入力する。
ex)
フィルター:?ERROR ?WARN ?message
フィルタリング結果:
[ERROR] Unable to continue: Failed to process the request
[WARN] Failed to process the request
NOTパターンマッチング
スペース区切りでキーワードの頭に-
を入力する。
ex)
フィルター:ERROR -WARN
フィルタリング結果:
[ERROR] Unable to continue: Failed to process the request
⇒しかし、JSON形式のlogなどでの複雑なパターンはこの組み合わせでは表現できない。
複雑な条件の設定方法
[( a="*error*" || a="*fail*" ) && ( a!="*hoge*" && a!="*fuga*" )]
のような形で複雑なフィルタパターンを表現できる。
JSON形式の場合は、$.{変数名} = "Content"
のような形にすることで、要素ごとのフィルタリングも可能。