Secret Ninja Blog

Customer Experience Senior Directorしてます

td-agent4についての簡易まとめ

td-agent4がJul 8, 2020にリリースされた。

td-agent4では、パッケージングに利用していたOmnibusによるパッケージングを廃止し、

github.com

新しくtd-agent-builderによるパッケージングを行うように変更を行っている。開発時のパッケージングの手間を大幅に解消している。

github.com

td-agent4では下記が主にtd-agent3から変更されている。

  • opensslなどのライブラリをバンドルせず、System側のライブラリを利用するようにしている。これにより、パッケージのサイズ自体を大幅に削減している。
  • Postgresqlなどの3rd partyのGemの削除
  • omnibus特有のembeddedディレクトリの削除。これにより、バンドルされているrubyなどのパスが変わっている。例えば、fluent-catのパスは/opt/td-agent/embedded/bin/fluent-catから/opt/td-agent/bin/fluent-catに変更している。
  • ruby, jemallocなどのコアコンポーネントのアップデート。特にtd-agent3ではRuby2.4を利用しており、すでにEOLがきてしまっている(https://www.ruby-lang.org/en/news/2020/04/05/support-of-ruby-2-4-has-ended/)ので、td-agent4では ruby 2.7をバンドルしている。
  • サポートされるOSはこちら td-agent v2 vs v3 vs v4 - Fluentd
  • Arm64もサポートしている
  • パッケージダウンロード先はhttps://td-agent-package-browser.herokuapp.com/4

Ref. td-agent-builder/README.md at master · fluent-plugins-nursery/td-agent-builder · GitHub

また、td-agent 3/4の間ではfluentd自体の大きな変更はなく、その時点での最新のfluentd v1が利用されている。

インストール時に特別なことをしていない場合については、yum updateなどでパッケージをアップデートすることで動作する。もしくはクリーンインストールしてもよい。