AWS ALBのアクセスログをサーバ上のBananaで分析していたのですが、Docker使って手元のPC環境でも簡単に実行できるようにしました。
使い方
Repositoryをダウンロード
git clone https://github.com/yomon8/alb-log-analyzer.git
cd alb-log-analyzer
設定を修正(AWS接続関連)
S3_BUCKET
と S3_PREFIX
にはALBのアクセスログの保存先として設定しているS3の情報を入れてください。
vi ./conf/awsenv.sh
AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY AWS_SECRET_ACCESS_KEY=YOUR_SECRET_ACCESS_KEY AWS_REGION=aws-region S3_BUCKET=your-bucket-name S3_PREFIX=prefix/to/alb/accesslog
設定を修正(その他)
他にもいくつか設定できます。 DURATION_MINUTES
は取得するログの期間です。デフォルトは直近60分を取得する設定です。マシンスペックやネットワーク帯域、ログの容量などの原因で時間かかるようなら減らしてください。
vi ./conf/env.sh
CONTAINERNAME=alb-banana SOLRPORT=8983 DURATION_MINUTES=60 UPDATE_COUNT=5000
起動
起動するとSolr/Banana環境が起動します。初回だけはDockerコンテナのダウンロード走るので時間かかります。
./bin/start.sh
スクリプトの最後でS3から取得したALBからログしてSolrに投げられます。一回の更新ドキュメント数は env.sh
の UPDATE_COUNT
の設定で変えられます。
2017/10/13 05:44:20 [info]Solr Update Success (5000 docs) 2017/10/13 05:44:21 [info]Solr Update Success (5000 docs) 2017/10/13 05:44:22 [info]Solr Update Success (5000 docs) 2017/10/13 05:44:23 [info]Solr Update Success (1022 docs)
Bananaにアクセス
以下のURLでアクセスできるはずです。
http://127.0.0.1:8983/banana/#/dashboard/solr/ALB?server=%2Fsolr%2F
停止
停止はこちらのスクリプトから。
./bin/stop.sh
データの再投入設定
設定情報変更して、追加でログ情報を投げ込みたい場合。
vi ./conf/awsenv.sh
./bin/loaddata.sh