fluentd バージョンアップでプラグインが使用している Fluent::S3Output が認識されなくなった
fluentd によって API サーバーのログを AWS S3 に送信しているシステムで
td-agent 0.12.40 から 1.6.3 にバージョンアップしようと思っています
本体のバージョンアップ自体はおわったのですが
/etc/td-agent/plugin/ にある以下のようなプラグインが
module Fluent
require 'fluent/plugin/out_s3'
require 'yajl'
class CustomS3Output < S3Output
Plugin.register_output('custom_s3', self)
def write(chunk)
:
(略)
:
end
end
end
/etc/td-agent/plugin/out_s3.rb:9:in `<module:Fluent>': uninitialized constant Fluent::S3Output (NameError)
というエラーをはくようになりました
Fluent::S3Output というのは
https://github.com/fluent/fluent-plugin-s3
の
https://github.com/fluent/fluent-plugin-s3/blob/master/lib/fluent/plugin/out_s3.rb
のことだと思うのですが
/opt/td-agent/embedded/bin/fluent-gem install fluent-plugin-s3
を行ってジェムのインストールには成功したんですがエラーは変わりません
バージョンアップ前はこのままのコードで動作していたので
バージョンアップによってジェムのインストール方法や認識方法がかわったのでしょうか
サイトの最後の方に
module Fluent # Since fluent-plugin-s3 v1.0.0 or later, use Fluent::Plugin instead of Fluent
とかいてあるので1行目を
module Fluent::Plugin
と変更してみたんですが
/etc/td-agent/plugin/out_s3.rb:11:in `<class:CustomS3Output>': uninitialized constant Fluent::Plugin::CustomS3Output::Plugin (NameError)
というエラーになります
原因のわかる方いらっしゃったら助けていただけるとありがたいです
よろしくお願いいたします