公開日:2020.02.21

【AWS】ELBのログをS3に保存して、Athenaで検索しよう!

テクログaws

こんにちは

皆さんAWS使ってますか?

LB、使ってます??

AWSのLBもいくつか種類がありますね

https://docs.aws.amazon.com/elasticloadbalancing/index.html

弊社も大変お世話になっています

そんなこんなでLBのアクセスログをS3に保存するととてもいいことがあります。

https://tech.basicinc.jp/articles/46

詳しいやり方はこちらのサイト様を参考にして頂いて・・・

S3に保存するとAthenaでSQLを使って検索が出来るようになるので非常に便利です。

よく使うクエリはこんな感じです。

○該当IPがアクセスしているURLを検索する

select
 request_ip, url
from
 ELBログの保存先
where
 elb_name = ‘たくさんあると絞ってあげたほうがわかりやすいです’
  AND
 (regexp_like(request_ip, ‘111.111.111.111’))
limit 1000;

こんな感じで

○該当URLにアクセスしているIPを割り出す

○該当URLにアクセスしているIPのカウント数

○該当日時にアクセスしてきたIPやURLを割り出す

などが検索可能です。

更に応用としてはUAでGoogleBotがクローリングしているURLを割り出したり

(もちろんUAは偽装できてしまうので正確とは言えないですが・・・参考までに)

日毎のGoogleBotの件数を見てみたり(↓)

SELECT substr(request_timestamp,
     1,
    10) AS ymd,
     count(*) AS cnt
FROM ELBログの保存先
WHERE elb_name = ‘たくさんあると絞ってあげたほうがわかりやすいです’
    AND user_agent LIKE "%Googlebot%"
GROUP BY substr(request_timestamp, 1,10)
ORDER BY ymd;

あとはprocessing_time(何種類かあります)でorder by descすれば処理が重いページもわかったりします。

便利ですね!!

皆さんもELBのログをS3に保存して素晴らしいAthenaライフをお送りください!!

この記事を書いた人

おっしー

入社年2013年

出身地神奈川

業務内容管理・開発

特技または趣味読書

おっしーの記事一覧へ

テクログに関する記事一覧