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?

ALBのアクセスログをAthenaを使って分析する

Posted at

はじめに

障害時にALBのアクセスログを素早く分析できるようになりたいと思い手を動かしながら解説していきます。

やること

S3に保存したALBのアクセスログを、Athenaを使って分析する。

必要な工程

大きく分けると以下になります。

正直公式の解説が丁寧すぎたので解説は必要ないかもなのですが、実施してみてわかりにくかったことをいくつか書いていきます。

データベースを作成する

これはAthenaで使用するデータベースを作成します。
次に作成するテーブルをこのデータベースの中に作成することになります。
この時、保存先のS3に対しての設定で、
”Assign bucket owner full control over query results”
というチェックボックスにチェックを入れないとクエリ結果が正しくS3に保存されないので注意が必要です。
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/step-1-create-a-database.html

テーブルを作成する

これは公式がALB用のクエリを用意してくれているのでそのまま使用しました。
S3に保存されているALBのアクセスログのデータをクエリする際に必要なカラムを用意してくれます。
location,account id,regionを自身の環境に合わせて編集すればそのまま使用できます。
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/create-alb-access-logs-table-partition-projection.html

クエリする

SELECT COUNT(request_verb) AS
 count,
 request_verb,
 client_ip
FROM alb_access_logs
GROUP BY request_verb, client_ip
LIMIT 100;

とりあえず上記のクエリで、HTTPメソッドと、クライアントIPの上位100でクエリを叩いたところいくつかメソッド毎にクライアントIPも表示されました。

終わりに

正直今回の練習では、公式の解説どおりに実行しただけなので、じゃあこれを実際の障害発生時にどうやって活かそうか?みたいなところまで理解できていないので、次回にいろいろなパターンでクエリを叩いてみて検証してみようと思います。

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?