LoginSignup
9
1

AWS CloudWatch Logs Insights を使おう!

Posted at

はじめに

AWSのサービスを利用しているとログを確認したい時があると思います。

CloudWatchのログは「CloudWatch > ロググループ > ログストリーム」から見ることができますが、「ログのインサイト」を使うともっと便利に検索することができてます。

注意点

CloudWatch Logs Insights クエリには、クエリされるデータの量に基づいて料金が発生します。大量のログをスキャンする場合は注意です!

東京リージョン 2024/06/27時点
分析 (Logs Insights のクエリ) スキャンしたデータ:1 GB あたり USD 0.0076

詳しくはこちら

メニュー

AWSのCloud Watchのサイドメニュー「ロググループ」の少し下にある「ログのインサイト」から見ることができます。

スクリーンショット 2024-06-26 9.40.08.png

「Logs Insights」の画面

スクリーンショット 2024-06-27 9.40.35.png

1:ロググループを参照

見たいロググループをダイアログから選びます

2:ローカルタイムゾーン

デフォルトはUTCになっています。UTCである必要がなければローカルタイムゾーンに変更しましょう

3:範囲

つまずきポイント!

デフォルトは直近の1時間になっています。見たい範囲を選択しましょう
大量のログがある場合は広げすぎると利用料金に影響するので注意しましょう

4:クエリ

クエリを指定することでログを抽出・集計することができます。

5:クエリの実行

実行すると下部にクエリの結果が表示されます

クエリ

初期クエリ
fields @timestamp, @message, @logStream, @log
| sort @timestamp desc
| limit 10000

コマンド(fieldsやsortなど)を” | ”パイプ文字でつないでクエリを組み立てます。

主なコマンド

filter

条件で抽出します。

fields

特定のフィールドを表示します。

sort

結果を昇順(asc)降順(desc)で並べ替えます。

limit

クエリ結果の最大件数を指定します。

pattern

パターンを分析します。

詳しくは公式サイトを参照ください。

クエリ構文はこちら

簡単な条件指定の仕方

クエリの文法が分かっていても、最初はログにどんなフィールドがあって、どんな値が入っているかわからないかもしれません。
そんな場合は、一旦「クエリの実行」ボタンを押してログを一覧表示してみましょう。

何も表示されない場合は、範囲指定(「Logs Insights」スクショの③)を確認しましょう。

ログの一覧が表示されたら、適当なログイベント”▶︎”マークをクリックして内容を表示しましょう。フィールドと値が表示されます。
ここに表示されるフィールドは、そのまま「filter」コマンドの条件に使うことができます。

サンプル

スクリーンショット 2024-06-30 21.28.59.png

条件指定のクエリ例

フィールド:requestContext.eventType
値:DISCONNECT
を抽出条件に指定した例

fields @timestamp, @message, @logStream, @log
| sort @timestamp desc
| limit 10000
| filter requestContext.eventType = "DISCONNECT"

@messageの中のJSON

大きなJSONでなければ、parseとかせずにそのまま指定することができます。
(filterコマンドの条件など)
階層があるものはドット指定します。

先ほどのサンプル
「requestContext.eventType = "DISCONNECT"」はJSONのキーと値です。

最後に

「ログのインサイト」は便利な機能ですが、範囲指定をしないと思うような結果を得られません。
そこさえ気をつければ、後は公式サイトを見ながら試行錯誤して必要な情報を得ることができるようになるでしょう。

9
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
1