🐙

CloudWatch Logs Insights で Web サーバのログを検索する

2023/03/21に公開

はじめに

CloudWatch Logs Insights でクエリ言語を使用して Web サーバのログを検索したい。

前提

Web サーバのログフォーマットはデフォルト設定。

手順

  1. CloudWatch > ロググループを表示
  2. 確認したいロググループをチェック
  3. [Log Insight で表示] をクリック
  4. クエリを入力して、[クエリの実行] をクリック

クエリ例

nginx のログで直近 100 件の 5XX のログを表示する。

parse '* - - [*] "* * *" * ' as host, dateTimeString, httpVerb, url, protocol, statusCode
| sort dateTimeString desc
| filter statusCode like /(5\d\d)/
| limit 100

ヘルスチェックを省いて表示する。

parse '* - - [*] "* * *" * * "*" "*" "*"' as host dateTimeString, httpVerb, url, protocol, statusCode, bytes,Referer,UserAgent,ip
| sort dateTimeString asc
| filter UserAgent not like /(ELB-Health*)/
| limit 1000

Apache のログで直近 100 件の 4XX のログを表示する。

parse '* - * [*] "* * *" * * * *' as host, identity, dateTimeString, httpVerb, url, protocol, statusCode, bytes,Referer,UserAgent
| sort dateTimeString desc
| filter statusCode like /(4\d\d)/
| limit 100

参考サイト

Discussion