LoginSignup
49
51

More than 5 years have passed since last update.

td-agentへのfluent-plugin追加に失敗した件+解決策

Last updated at Posted at 2013-02-14

事象

fluent-plugin-mysqlを使ってみようと思って、td-agentにインストールしようとしたところ。

# /usr/lib64/fluent/ruby/bin/fluent-gem install fluent-plugin-mysql
# vi /etc/td-agent/td-agent.conf

ここで、/etc/td-agent/td-agent.confにmysqlに関する追記。

# service td-agent restart
Starting td-agent: 2013-02-14 18:14:40 +0900: fluent/supervisor.rb:187:rescue in main_process: config error file="/etc/td-agent/td-agent.conf" error="Unknown output plugin 'mysql'. Run 'gem search -rd fluent-plugin' to find plugins"
                                                           [FAILED]

という感じでプラグインを認識していなかった。

原因

よくよくfluent-gemのenvironmentsをみてみると、

# /usr/lib64/fluent/ruby/bin/gem environment
~~~~~中略~~~~~~~~~~~~~
  - GEM PATHS:
     - /usr/local/rvm/gems/ruby-1.9.3-p327
     - /usr/local/rvm/gems/ruby-1.9.3-p327@global
~~~~~中略~~~~~~~~~~~~~

のようになっていた。
td-agentが見に行くgemのpathは

/usr/lib64/fluent/ruby/lib/ruby/gems/1.9.1/gems

のようなので、これではgemをinstallしても認識されない。

解決策

急場凌ぎの対策です。

GEM_HOME="/usr/lib64/fluent/ruby/lib/ruby/gems/1.9.1/"
GEM_PATH="/usr/lib64/fluent/ruby/lib/ruby/gems/1.9.1/"
/usr/lib64/fluent/ruby/bin/fluent-gem install fluent-plugin-mysql

こんな感じで無理やりGEM_HOMEとGEM_PATHを変更してinstallするとpluginが認識されました。

雑感

td-agent用にfluent-gemコマンドとは分離したtd-gemみたいなコマンドを用意して、GEM_HOME、GEM_PATHを明示的に指定したほうがいい気もする。

49
51
1

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
49
51