CloudWatch Logs Insights で大量なログ分析も手軽に行う

AWS運用自動化サービス「Cloud Automator」

技術2課の多田です。

運用フェーズになるとトラブルシュートや定常運用時にログを確認することがよくあると思います.僕もそんな時に最近は CloudWatch Logs Insights をを使うようにしています.CloudWatch Logs Insightsは CloudWatch Logs に保管されたログに対してクエリを発行してログを表示したり、クエリの結果をグラフに出すことも可能な機能です.

新機能 – Amazon CloudWatch Logs Insights – 高速でインタラクティブなログ分析

これまでは CloudWatch Logs の画面から検索することも可能でしたが,CloudWatch Logs Insights の登場によって検索で正規表現や条件をつけたりすることで検索しやすいです.今回は CloudWatch Logs Insights を使うにあたって必要なクエリの使い方と料金を整理します.

クエリについて

クエリのコマンド

クエリには1つ以上のクエリコマンドを Unix 形式のパイプ文字をで区切って定義可能で,使えるコマンドは以下の6種類です.

  • fields : 1つ以上のログフィールドを取得する
  • filter : ログフィールドを1つ以上の条件に基づいて絞り込む
  • stats : ログフィールドに対し集計計算(sum,avg,count,min,max,percentile)を行う
  • sort : 昇順,降順でログイベントをソートする
  • limit : クエリで返されるログイベントの数を制限する
  • parse : ログフィールドからデータを取り出す

参考情報

CloudWatch Logs Insights クエリ構文

サンプルクエリ

実際にどうやってクエリを定義していいか,をすぐにわからない人も安心してください.以下のようなサンプルクエリが用意されています.CloudTrail は利用されている方も多いかと思うので,まずはこちらから始めてみるのも良いかもしれません.

  • Lambda
  • VPC Flow Logs
  • Route53
  • AppSync
  • CloudTrail
  • 一般的なログ

参考情報

サンプルクエリ

利用料金

料金は,クエリごとに走査したログデータの量に対してかかるのですが,GB あたり $0.005 になります.ログ容量に応じた課金体系になっています.

まとめ

今回は, CloudWatch Logs Insights の基本であるクエリコマンドの種類とサンプルクエリ,利用料金をまとめました.今の所はログをソートしたり,filter で条件を絞ったりなどを使っていますが,もっと使いこなせてログ分析を得意になっていきたいです.

AWS運用自動化サービス「Cloud Automator」