CloudWatch Logs Insightsの簡単なまとめ
CloudWatch Logs Insightsの簡単なまとめ:
今年のre:Inventでは多くの新サービス/新機能が発表されましたがその中の一つCloudWatch Logs Insightsについて(備忘録も兼ねて)簡単にまとめます。
以下の3つのログフィールドはログの種類にかかわらず自動で生成されます
また、ログの種類によっては、そのほかのフィールドが自動で検知されCloudWatchコンソールの右下に
例えばLambdaの実行ログにクエリを発行したい場合
そのほかログの種類によって利用できるフィールドの一覧はドキュメントにあります
以下6つのコマンドを実行できます
のように使うイメージです
クエリ内では以下の関数を使うこともできます
例えば,
ドキュメント読めばわかるようなことをつらつら書いていてアレですが日本語ドキュメントがまだないようなので書きました。
上で紹介した機能以外にも集計結果をグラフ化したりクエリの結果をCloudWatchダッシュボードにエクスポートしたりクエリの履歴を参照することもできとても便利な機能が揃っています。
CloudWatchでのログの取り扱いに困っている方は一度試してみてください。
今年のre:Inventでは多くの新サービス/新機能が発表されましたがその中の一つCloudWatch Logs Insightsについて(備忘録も兼ねて)簡単にまとめます。
CloudWatch Logs Insightsとは
- CloudWatch Logsのログデータを簡単に検索したり分析できる
- クエリ言語を使ってログを操作
- 料金
- スキャンされたデータ 1 GB あたり 0.0076 USD
- 参考
Log Fields
以下の3つのログフィールドはログの種類にかかわらず自動で生成されます@message: ログのメッセージ本文@timestamp: タイムスタンプ@logStream: ログストリーム名また、ログの種類によっては、そのほかのフィールドが自動で検知されCloudWatchコンソールの右下に
検出されたフィールドとして表示されます例えばLambdaの実行ログにクエリを発行したい場合
@requestId, @duration, @billedDuration, @type, @maxMemoryUsed, @memorySizeなどが利用できますそのほかログの種類によって利用できるフィールドの一覧はドキュメントにあります
Command
以下6つのコマンドを実行できます-
fields: フィールドを取得してくることができます,また後述する関数と組み合わせることで取得したフィールドに加工を加えることもできます -
filter: フィールドを絞り込みます -
stats: 後述する関数と組み合わせることで様々な集計計算ができます -
sort: 降順、昇順で結果をソートできます -
limit: クエリの実行結果数を制限できます -
parse: ログフィールドからデータを取り出すことができます
fields @message | filter @message like /Exception/ | parse "*:*" as errorCode, errorMessage
Functions
クエリ内では以下の関数を使うこともできます
General Functions
-
ispresent: フィールドが存在するか真偽値を返す -
coalesce: リストの中から最初のnullでない値を返す
String Functions
-
isempty: フィールドが存在しないもしくは空の時trueを返す -
concat: 文字列を連結する -
trim: 文字列をトリムする -
strlen: 文字列の長さを返す
Aggregation Functions in the Stats Command
statsコマンド内で使える集計関数もあります-
avg,count,sumなど
試してみる
例えば,logger.error()などで出力したエラーログのうち最新20件の発生箇所と該当コードだけ抜き出してみたいときは以下のようにクエリを書くことで簡単に参照できるかと思います。filter @type = 'ERROR' | parse @message "*:*:*" as message, place, code | fields place, code | sort @timestamp desc | limit 20
まとめ
ドキュメント読めばわかるようなことをつらつら書いていてアレですが日本語ドキュメントがまだないようなので書きました。上で紹介した機能以外にも集計結果をグラフ化したりクエリの結果をCloudWatchダッシュボードにエクスポートしたりクエリの履歴を参照することもできとても便利な機能が揃っています。
CloudWatchでのログの取り扱いに困っている方は一度試してみてください。
コメント
コメントを投稿