0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【CloudWatch Logs Insights】通信ログ(テストデータ)分析してみる

Last updated at Posted at 2024-11-16

はじめに

上記で生成したログをCloudWatch Logs Insightsを使って分析してみます。

細かい解説はしませんが、実際に「テストデータ(100件)がどんな感じで分析できるのか」「本番環境のログ分析行うためのアイデア」程度に眺めてもらえれば嬉しいです。

2024-11-16T12:17:23.252+09:00
Sample log entry at 2024-11-16T03:17:23.252405: status=INFO, message='This is a test log', IP=186.139.154.218

2024-11-16T12:17:24.354+09:00
Sample log entry at 2024-11-16T03:17:24.354606: status=WARN, message='This is a test log', IP=131.127.200.53


2024-11-16T12:17:25.377+09:00
Sample log entry at 2024-11-16T03:17:25.377620: status=WARN, message='This is a test log', IP=174.92.5.202

AWS管理コンソール画面

image.png

①:ロググループを選択してください
②:ログの範囲(時間指定)を選択してください
③:実行するクエリを入力してください

クエリの構文

AWSの公式ドキュメントを参照ください。

この程度は覚えたい

項目 説明
fields クエリ結果に表示するフィールド
filter クエリのフィルタリング条件
sort 返されたログイベントを昇順(asc)または降順(desc)でのソート順
limit 結果の件数(sortと併用することで上位/最新の10件などが取得可能)
parse クエリで処理できるようにする抽出フィールドの作成
(変数みたいなイメージ)
stats フィールドの値を使って集計が可能
|(パイプ) 複数のコマンドをつなぐ
# コメント

タイムスタンプの降順に10件抽出

Query
fields @timestamp, @message, @logStream, @log
| sort @timestamp desc
| limit 10

image.png

タイムスタンプとIPアドレスとステータスのみを出力(ERRORのみ)

Query
fields @timestamp
| parse @message /IP=(?<IP>[^ ]*)/
| parse @message "status=*," as status
| filter status = "ERROR"

image.png

ステータス別の件数を抽出

件数のカウントは実用的で便利そう

Query
fields @timestamp, @message
| parse @message "status=*," as status
| stats count(*) by status

image.png

IPアドレス別の件数を抽出

今回自動で生成したIPアドレスが全て重複なしだったので、全てcountは1でした。
※自分でデータを生成する場合はランダムIPの範囲を調節すれば良い。

正規表現を使った parse の場合は (?<IP>...) のような構文で自動的にフィールド名を付けているため、as IP は必要無いみたい。

Query
fields @timestamp, @message
| parse @message /IP=(?<IP>[^ ]*)/
| stats count(*) by IP

image.png

IPアドレスを指定してWARNステータスだけを抽出

Query
fields @timestamp, @message
| parse @message /IP=(?<IP>[^ ]*)/
| filter IP = "80.114.147.217" and @message like /WARN/
| display @timestamp, @message, IP

image.png

おわりに

CloudWatch Logs Insightsでさくっとクエリが書けると便利そうですね!

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?