AWS ALBのアクセスログ分析環境をDockernizeしてローカルPCで実行できるようにした

AWS ALBのアクセスログをサーバ上のBananaで分析していたのですが、Docker使って手元のPC環境でも簡単に実行できるようにしました。

github.com

使い方

Repositoryをダウンロード

git clone https://github.com/yomon8/alb-log-analyzer.git
cd alb-log-analyzer

設定を修正(AWS接続関連)

S3_BUCKETS3_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.shUPDATE_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