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/