[小ネタ]CloudWatch Logsで簡単に大文字小文字を区別せずにキーワード検知する

2019.03.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは、望月です。

ログ監視してますか?最近、CloudWatchでログ監視を始めたところ、昔、苦労していた部分が楽ちんになっていたのでご紹介したいと思います。

昔の話

CloudWatch Logsで大文字と小文字を区別せずにキーワードを検知する

上記、記事にかかれている通り、「error」という文字列を大文字小文字区別なく検知するために「error」「Error」「ERROR」などMetric Filterを複数作成する必要がありました。

今の話

現在は、ORパターンマッチングが利用できるため、Metric Filterを複数作成せずに、1つ作成することで大文字小文字区別なく検知することが可能となっています。

フィルターとパターンの構文

「error」「Error」「ERROR」を検知する

フィルタパターンに「?error ?Error ?ERROR」と入れることで、それぞれ「error」「Error」「ERROR」をキーワード検知することができます。

「ErRor」や「errOR」などのイレギュラーを検知する

こちら勘違いしていました。こちらの方法では「e」か「r」か「o」が入っていれば、ヒットしてしまいますね。

では、「ErRor」や「errOR」など、イレギュラーな文字に対応したい場合「?ErRor ?errOR」を付け足すというのも、ツラいですね。このようなことも考えた場合、「?e?r?r?o?r」と入れることで大文字小文字区別なくすべてキーワード検知することができます。

まとめ

ということで、フィルタパターンに「?error ?Error ?ERROR」と入れることで、Metric Filterが1つ作成すればよくなりますね。

以上、小ネタでした。