td-agentとrbenv/gemでインストールしたfluentdのディレクトリ構成の比較
rbenv/gemでインストール
rbenvでRubyをインストールして gem install fluentd
でFluentdをインストールした場合
Rubyの実体の場所
$ ~/.rbenv/versions/2.7.1/bin/ruby --version ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]
fluentdの実体の場所
$ ~/.rbenv/versions/2.7.1/bin/fluentd --version fluentd 1.10.4
fluentdプラグインのインストールはgemを使う。
$ gem install fluent-plugin-s3
gemでインストールしたfluentdプラグインは以下に保存される。
~/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/
debパッケージでインストール
Ubuntu 18.04で以下のページの記述に従ってインストールした場合
Install by DEB Package (Debian/Ubuntu) - Fluentd
td-agentのインストール
$ curl -L https://toolbelt.treasuredata.com/sh/install-ubuntu-bionic-td-agent3.sh | sh
サービスの起動
$ sudo systemctl start td-agent.service
psコマンドで見ると以下のプロセスがある。
/opt/td-agent/embedded/bin/ruby /opt/td-agent/embedded/bin/fluentd --log /var/log/td-agent/td-agent.log --daemon /var/run/td-agent/td-agent.pid
設定ファイルはここ
/etc/td-agent/td-agent.conf
標準出力は以下のファイルに書き出される。
/var/log/td-agent/td-agent.log
Rubyの実体
$ /opt/td-agent/embedded/bin/ruby --version ruby 2.4.10p364 (2020-03-31 revision 67879) [x86_64-linux]
fluentdの実体
$ /opt/td-agent/embedded/bin/fluentd --version fluentd 1.10.2
td-agentからはgemでインストールしたプラグインを参照できないので、td-agent-gem でインストールする。
$ sudo td-agent-gem install fluent-plugin-s3
td-agent-gem は /usr/sbin/td-agent-gem
にあるが、中身はシェルスクリプトで GEM_HOME
, GEM_PATH
という2つの環境変数を設定して /opt/td-agent/embedded/bin/fluent-gem
を呼び出している。
td-agent-gemでインストールしたプラグインは以下に保存される。
/opt/td-agent/embedded/lib/ruby/gems/2.4.0/gems/