昨年末にAWSに追加されたAmazon CloudWatch Logs Insightsが結構便利です。
せっかくなので、最低限のやる気でなんとなく使えるようになっておきましょう。5分くらいで。
インサイトを開いてみる
ひとまずマネコンのCloudWatchの左のメニューからインサイトを開いてみるとこんな感じの画面になります。
ログを表示してみる
まずは何も考えずにログを表示してみましょう。
AWSのマネコンにしては珍しく、部分一致のインクリメンタルサーチをしてくれるので快適に目的のロググループにたどり着けます。
エラーを探してみる
ログからエラーを抽出してみます。
何も考えずにデフォルトのfilter
を追加すると、親切にエラーっぽい文字列の正規表現が追加されます。
⬆の手順では5\d\dはノイズが混じることが多いので除却しています。
逆にAPI GatewayでHTTPステータスコードを探すときは↓のようにフィルタを設定すると良いです。
filter @message like /(?i)(status: 5\d\d)/
ヒットしたログの詳細を確認する
ヒットしたログの前後を見たい場合も多いでしょう。
そんな場合は何も考えずにfields
を追加しましょう。クエリでいろいろ重複しててもOKぽいです。
@logStream
のフィールドがリンクとなり、おなじみログストリームでの確認ができました。
時間を絞ってログを確認する
数分前に起こったエラーが確認したい、という場合は時間を絞ると効率が良いです。
1時間以内にはエラーが起こっていないことが確認できました。
所感
- CloudWatchを利用するなら使うべき
- 手軽にログ調査の時間が短縮できます
- AWSにしては珍しく親切な仕様
- 部分一致のインクリメンタルサーチとかコマンドからクエリを追加した時にいい感じのデフォルト値が入ってることとか、使い勝手がかなり良いです
- おかげでなんとなく使うだけでも効用が得られます