LoginSignup
1
3

More than 5 years have passed since last update.

AWS fluentdでelbのログをElasticSearch Service のkibanaで可視化

Posted at

ログサーバーを立ててkibanaで可視化したのでメモです。

前準備
・elasticsearch serviceの作成
・IAMユーザーとポリシー作成(ESへのアクセス、S3へのアクセス)
・ELBのログをs3に保存(自分は1時間ごとにs3に保存にしました。)

fluentd 設定

fluentdと使用するプラグイン インストール

#curl -L http://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sudo sh
#td-agent-gem install fluent-plugin-elasticsearch
#td-agent-gem install fluent-plugin-elb-log
#vi /etc/td-agent/td-agent.conf

[]の中は例です。

td-agent.conf

<source>
  type elb_log
  region ap-northeast-1
  s3_bucketname [buket name] #elbのログが保存されているバケット指定
  s3_prefix [logs/elb-log] #ディレクトリを指定
  timestamp_file /tmp/elb_last_at.dat
  buf_file /tmp/fluentd-elblog.tmpfile
  refresh_interval  [3600] #ELBのログが入るのが1時間なので1時間ごとに更新する。
  tag elb.access.log
  access_key_id [XXXXXXXXXXXXXXXXXXXXX] #IAMユーザーのアクセスキー
  secret_access_key [XXXXXXXXXXXXXXXXXXXXXXX] #IAMユーザーのシークレットキー
</source>

<match elb.access.log>
    type elasticsearch
    hosts https://search-[domain].ap-northeast-1.es.amazonaws.com/
    type_name elb-access
    logstash_format true
    logstash_prefix elb-access-log
    flush_interval 10
</match>

権限を変更して起動

#touch /tmp/elb_last_at.dat
#chown td-agent:td-agent /tmp/elb_last_at.dat
#touch /tmp/fluentd-elblog.tmpfile
#chown td-agent:td-agent /tmp/fluentd-elblog.tmpfile
#/etc/init.d/td-agent start

kibanaを開いてindex patternに「elb-access-log*」でindexを作成する

問題

・古いelbログが削除されないのでたまっていくばかり。ttlというやらでローテートできるらしい。
ひとまずは、#curl -XDELETE https://search-[domain].ap-northeast-1.es.amazonaws.com/[index]
でログを削除できる。
その前にcurlコマンドで操作する場合にはaws configureコマンドでIAMをインスタンスに登録する必要あり。

・/var/log/td-agent/td-agent.logに「S3 Client error occurred: Access Denied」とエラー
IAMユーザーにはS3にアクセスできるように設定してあるし、ELBのログをS3からとってきているあたりアクセスできているかと…

1
3
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
1
3