🐙
CloudWatch Logs Insights で Web サーバのログを検索する
はじめに
CloudWatch Logs Insights でクエリ言語を使用して Web サーバのログを検索したい。
前提
Web サーバのログフォーマットはデフォルト設定。
手順
- CloudWatch > ロググループを表示
- 確認したいロググループをチェック
- [Log Insight で表示] をクリック
- クエリを入力して、[クエリの実行] をクリック
クエリ例
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