EBに置いたrailsからAmazon Kinesis Data FirehoseでlogをamazonESに投げる
はじめに ちょっとググるとamazonESにログを送信するのにfluentd(td-agent)を利用するケースが多いですが、その場合以下のライブラリを利用するみたいなのが多く出てきます。 https://github.com/atomita/fluent-plugin-aws-elasticsearch-service ただ、メンテナンスされてないっぽいのと、Amazon Kinesis Data Firehoseを利用したほうが楽そうだったので設定してみました。 ※EBの設定はしてあるものとします Railsの設定 logrageでjsonのlog吐き出す 参考 https://qiita.com/ichi_s/items/7cf6ce5dbfaa00976dd4 Gemfile gem 'lograge' gem 'logstash-event' gem "rack-user_agent" config/initializers/lograge.rb Rails.application.configure do config.lograge.enabled = true config.lograge.base_controller_class = ['ActionController::API', 'ActionController::Base'] config.lograge.formatter = Lograge::Formatters::Logstash.new config.lograge.keep_original_rails_log = true config.lograge.logger = ActiveSupport::Logger.new "#{Rails.root}/log/lograge_#{Rails.env}.log" config.lograge.custom_options = lambda do |event| payload = event.payload data = payload.slice(*%i( uuid host ...