信頼はずっと、挑戦はもっと。

お問い合わせ
TEL:03-3496-3888

BLOG コアテックの社員ブログ (毎週月曜~金曜更新中)

2020

21

2月

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

テクログ

こんにちは


皆さん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ライフをお送りください!!

この記事を書いた人

画像:投稿者アイコン

おっしー

所 属:
役員
出身地:
神奈川
仕事内容:
管理・開発